欢迎使用CSDN-markdown编辑器

来源:互联网 发布:淘宝宝贝全部被下架了 编辑:程序博客网 时间:2024/05/18 01:32

关于Python使用matplotlib中文显示和负号的问题

今天需要画一幅含有中文并且标注上有公式的图片。应为原来都是用因为画的图,因此忽然就懵逼了。然后在查阅了一些文献之后发现了解决的办法。现在描述具体流程如下

· 首先构建一个函数set_Matplotlib_zh(FontType):.代码如下:

    def set_Matplotlib_zh(FontType='FangSong'):#默认参数字体为仿宋        from matplotlib.pylab import mpl        mpl.rcParams['font.sans-serif'] = [FontType] #我们可以自由的改变字体        mpl.rcParams['axes.unicode_minus']=False #这里是设置在matplotlib中显示负号

· 在构建了这个函数后,把该函数放入到pyplot和pylab中作为一个函数,之后再调用pyplot等函数的时候进行一次设置即可
例如:

    plt.set_Matplotlib_zh() #使用默认的字体,默认为仿宋。

需要注意的是在图片中写入中文的时候需要将中文转换为unicode码,应为matplotlib目前只识别unicode码。方法是在中文字符串前添加一个符号’u’。eg:

x = [-1,-2,-3]y= [4,5,6]plt.plot(x,y,color='g',marker='o')plt.xlabel(u'x轴')plt.ylabel(u'y轴')plt.title(u'测试中文与负号在matplotlib中的显示情况')plt.show()

显示结果为
这里写图片描述

原创粉丝点击