前言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