请教各位大神:
使用matplotlib来绘图的时候,把
plt.style.use('seaborn')
放在
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
前面时可以正常显示中文,但放在这两代码后面则无法显示中文。而把plt.style.use('seaborn')换成plt.style.use('bmh'),则无论放在什么位置都能正常显示中文。而同样还有其他类似情况,比如:plt.style.use('classic')与plt.style.use('seaborn')结果一致,而plt.style.use('seaborn-talk')则与plt.style.use('bmh')结果一致。
能正常显示中文的代码如下:
import matplotlib
import matplotlib.pyplot as plt
#设置字体
plt.style.use('seaborn')
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
fig, ax = plt.subplots()
ax.scatter(2, 4, s=200)
# 设置图表标题并给坐标轴加上标签。
ax.set_title("平方数", fontsize=24)
ax.set_xlabel("值", fontsize=14)
ax.set_ylabel("值的平方", fontsize=14)
# 设置刻度标记的大小。
ax.tick_params(axis='both', which='major', labelsize=14)
plt.show()
# 结果显示图片如下:
您先再测试下 看是不是这个原因 谢谢
plt.style.use('xxxxx')是定制画布风格的,必须放在前面,放后面会覆盖设置的字体,显示乱码
# 补充不能正常显示中文的代码如下:
import matplotlib
import matplotlib.pyplot as plt
# 设置字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False
plt.style.use('seaborn')
fig, ax = plt.subplots()
ax.scatter(2, 4, s=200)
# 设置图表标题并给坐标轴加上标签。
ax.set_title("平方数", fontsize=24)
ax.set_xlabel("值", fontsize=14)
ax.set_ylabel("值的平方", fontsize=14)
# 设置刻度标记的大小。
ax.tick_params(axis='both', which='major', labelsize=14)
plt.show()
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y