mpl.rcParams["font.sans-serif"]="SimHer" mpl.rcParams["axes.unicode_minus"]=False x=np.linspace(0.2,3.0,100) y1 = np.sin(x) y2 = np.random.randn(100) plt.scatter(x,y2,c="green",label="散点图",edgecolor="none") plt.plot(x,y1,ls="--",c="orange",lw=3,label="曲线图") plt.xlim(0.0,4.0) plt.ylim(-4.0,4.0) plt.ylabel("Y轴",rotation=360) plt.xlabel("x轴") plt.grid(True,ls=":",color="grey") plt.axhline(y=0.0,c="r",ls="--",lw=2) plt.annotate("y=sin(x)",xy= (np.pi/2,1.0),xytext=(1.8,2),color="r", fontsize=15,arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="r")) plt.annotate("y,x轴",xy=(0.75,-4),xytext=(0.35,-2.7),color="b", fontsize=15,arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="b")) plt.annotate("",xy=(0,-3.5),xytext=(0.3,-2.7),color="b", arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="b")) plt.annotate("",xy=(3.5,0.0),xytext=(3.4,-1.0),color="b", arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="b")) plt.text(3.0,-1.3,"图表参考线",color="b",fontsize=15) plt.title("图表元素设置示例",color="m",fontsize=20) plt.legend(loc="upper right",fontsize="12") plt.show()图表中汉字不显示
时间: 2023-07-06 19:10:39 浏览: 159
Matplotlib不能显示中文 — Font family [‘sans-serif’] not found警告
3星 · 编辑精心推荐
这个问题通常是由于matplotlib默认字体不支持中文字符引起的。可以通过设置字体来解决这个问题。在你的代码中,你使用了SimHer字体,但是可能这个字体不在你的系统中可用。
你可以使用matplotlib中的字体管理器来找到你系统中可用的字体,并将其设置为默认字体,以确保中文字符能够正确显示。例如,下面的代码将默认字体设置为SimHei:
```
import matplotlib as mpl
mpl.rcParams["font.sans-serif"] = "SimHei"
mpl.rcParams["axes.unicode_minus"] = False
```
你可以根据你的实际需求更改默认字体,并确保你的系统中有该字体。如果你仍然看不到中文字符,可能是因为你的字体文件没有正确安装。你可以重新安装字体文件或者将字体文件路径添加到字体管理器中。
阅读全文