
前言html
01 - 出错缘由web
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05,10,1000)
y = np.cos(x)
plt.plot(x,y,ls="-",lw=2,label = "plot figure")
plt.legend()
plt.xlabel("这是x轴")
plt.ylabel("这是y轴")
plt.show()
02 - 经过代码解决微信
首先,第一种方法,在每次写代码以前,咱们加入以下两行代码:
app
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
加入这两行代码以后咱们发现,所得结果仍然还有乱码现象,这里说一下,我在不少书中的演示代码也看到,做者只是添加了这两行代码,这并无结束,咱们在输入中文字符的时候,还应该在中文字符前加上 u ,即正确格式为:u'内容' 。
dom
咱们来看完整的代码:编辑器
# -*- coding: utf-8 -*-
"""
@author: 石璞东(微信公众号:hahaCoder)
@software: PyCharm
@file: 01.py
@time: 2020/8/16 12:24 上午
"""
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
x = np.linspace(0.05,10,1000)
y = np.random.randn(1000)
plt.plot(x,y,label="scatter figure")
plt.legend()
plt.xlabel(u"这是x轴")
plt.ylabel(u"这是y轴")
plt.show()
咱们再来看效果展现:
学习
哈哈哈,乱码问题被解决咯,不过细心的小伙伴会发现,每次写代码,都要把这两行代码加进去,并且还要在中文内容前加 u ,这可太麻烦了,因此我给小伙伴们介绍了第二种一劳永逸的方法,快来看看吧~字体
03 - 修改配置文件,一劳永逸的方法flex
import matplotlib
print(matplotlib.get_data_path()) # 数据路径
font.family:sans-serif
font.sans-serif:SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus:False,#做用就是解决负号'-'显示为方块的问题
from matplotlib.font_manager import _rebuild
_rebuild() #reload一下
# -*- coding: utf-8 -*-
"""
@author: 石璞东(微信公众号:hahaCoder)
@software: PyCharm
@file: 01.py
@time: 2020/8/16 12:24 上午
"""
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05,10,1000)
y = np.random.randn(1000)
plt.plot(x,y,label="scatter figure")
plt.legend()
plt.xlabel(u"这是x轴")
plt.ylabel(u"这是y轴")
plt.show()
本文分享自微信公众号 - hahaCoder(hahaCoder)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。ui