为什么plt.style.use('seaborn')无法显示中文???

请教各位大神:
使用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()

# 结果显示图片如下:

seaborn_correct seaborn_correct

 

seaborn_error seaborn_error

 

您先再测试下  看是不是这个原因  谢谢

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