Dini的个人博客分享 http://blog.sciencenet.cn/u/Dini

博文

python_ Matplotlib_关于中文不显示的问题

已有 2073 次阅读 2021-1-1 17:54 |个人分类:python|系统分类:科研笔记

2021/1/1

1.

import matplotlib.pyplot as plt  # 官方网站:https://matplotlib.org/gallery/index.html

squares = [1, 4, 9, 16, 25]

fig, ax = plt.subplots()

ax.plot(squares)

plt.show()



2.神奇的发生:在我第一次运行下面这段代码的时候,中文不显示,然后我在网上找到一段可以运行的显示中文的去运行了一次,结果再运行这段代码,竟然显示中文了!!!

import matplotlib.pyplot as plt

import numpy as np

input_values = [1, 2, 3, 4, 5]

input_values=np.array(input_values) #其实我想变成函数。

#print(input_values)

squares =input_values**2

fig, ax=plt.subplots()

ax.plot(squares,linewidth=5)


ax.set_title("平方数", fontsize=24)

ax.set_xlabel("值", fontsize=14)

ax.set_ylabel("值的平方", fontsize=14)

ax.tick_params(axis='both', labelsize=18) #坐标轴上的刻度,字号大小为18


plt.show()


我运行的代码是在这里找到的:(转载,如果作者希望不要转载,麻烦联系我删掉哦,谢谢啦。)

https://blog.csdn.net/m0_46252978/article/details/109401330

不显示:

from matplotlib import pyplot as plt

import random

x = range(0,120)

y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize=(20,8),dpi=80)

plt.plot(x,y)

x_ticks = ['10点{}分'.format(i) for i in range(60)]

x_ticks += ['11点{}分'.format(i) for i in range(60)]

plt.xticks(list(x)[::3],x_ticks[::3],rotation=45)

plt.xlabel('时间')

plt.ylabel('温度:单位(℃)')

plt.title('十点到十二点气温变化情况')

plt.show()


方法一:

from matplotlib import pyplot as plt

import random

import matplotlib as mpl


x = range(0,120)

y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize=(20,8),dpi=80)

plt.plot(x,y)

mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 微软雅黑

mpl.rcParams['font.serif'] = ['Microsoft YaHei']

mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串

x_ticks = ['10点{}分'.format(i) for i in range(60)]

x_ticks += ['11点{}分'.format(i) for i in range(60)]


plt.xticks(list(x)[::3],x_ticks[::3],rotation=45)

plt.xlabel('时间')

plt.ylabel('温度:单位(℃)')

plt.title('十点到十二点气温变化情况')

plt.show()


方法二:

from matplotlib import pyplot as plt

import random

import matplotlib

x = range(0,120)

y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize=(20,8),dpi=80)

font = {'family' : 'Microsoft YaHei',

              'weight' : 'bold',

              'size'   : '12'}

matplotlib.rc('font', **font)

plt.plot(x,y)

x_ticks = ['10点{}分'.format(i) for i in range(60)]

x_ticks += ['11点{}分'.format(i) for i in range(60)]


plt.xticks(list(x)[::3],x_ticks[::3],rotation=45)

plt.xlabel('时间')

plt.ylabel('温度:单位(℃)')

plt.title('十点到十二点气温变化情况')

plt.show()











https://blog.sciencenet.cn/blog-3411101-1265270.html

上一篇:python distance
收藏 IP: 58.20.224.*| 热度|

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2022-12-3 23:40

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部