python解决matplotlib中文字体有时正常,有时是空白

解决方法

将解决字体空白的如下部分,移动到所有import的最后面,或是画图之前:

import matplotlib.pyplot as plt
import pandas as pd

plt.rcParams["font.sans-serif"] = ["SimHei"]  # 设置字体
plt.rcParams["axes.unicode_minus"] = False  # 正常显示负号

问题解析

这是因为在导入第三方库(尤其是自带绘图库)时,有可能会覆盖掉这些配置

通常我们解决字体空白使用:

import matplotlib.pyplot as plt
import pandas as pd

plt.rcParams["font.sans-serif"] = ["SimHei"]  # 设置字体
plt.rcParams["axes.unicode_minus"] = False  # 正常显示负号

series = pd.Series([1, 2, 3, 4, 5, 6], name='啊哈')
plt.cla()
plt.clf()
fig, ax = plt.subplots(figsize=(15, 5), dpi=100)
ax.plot(pd.to_datetime(series.index.tolist()), series.values.tolist())
ax.set_title("标题")
fig.show()

如果这一段代码正常画图,但是在程序中import后中文字体失效,证明就是import其他库时导致字体配置被覆盖

猜你喜欢

转载自blog.csdn.net/weixin_35757704/article/details/131673604