程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python畫圖中文不顯示問題的解決方法

編輯:Python

目錄

前言

一、plt.title中文顯示的解決:

二、plt.plot中文顯示的解決:

三、供參考代碼

總結

前言

python畫圖,如果用英文顯示基本沒有問題,但是中文可能會有亂碼或者不顯示的情況。

經過個人的測試,下圖中“橫軸”,“縱軸”字樣的中文顯示沒有什麼大問題,主要是plt.title部分和plt.plot部分的顯示
 

一、plt.title中文顯示的解決:from matplotlib.font_manager import FontPropertiesfont_set = FontProperties(fname=r"c:\windows\fonts\SIMLI.TTF", size=15)plt.title(u'小明的標題', FontProperties=font_set)

FontProperties中加載的就是本地的字體

路徑:C:\Windows\Fonts

選中字體鼠標右鍵屬性即可復制名字進行替換

font_set = FontProperties(fname=r"c:\windows\fonts\SIMLI.TTF", size=15)

從改變字體的結果來看,橫縱坐標和標題區域受影響,plt.plot不受影響

二、plt.plot中文顯示的解決:

與上述類似,加下列一行即可

plt.legend(prop={'family':'SimHei','size':15})三、供參考代碼from matplotlib import pyplotimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesfrom matplotlib.ticker import MultipleLocator, FormatStrFormatter font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)import matplotlibimport numpy as np%matplotlib inlineplt.rcParams['figure.figsize'] = (12.0, 8.0) # set default size of plotsplt.rcParams['image.interpolation'] = 'nearest'plt.rcParams['image.cmap'] = 'gray'# plt.rcParams['font.sans-serif']=['SimHei']# plt.rcParams['axes.unicode_minus']=False # 設置標題大小plt.rcParams['font.size'] = '16'fig = plt.figure()matplotlib.rcParams.update({'text.usetex': False,'font.family': 'stixgeneral','mathtext.fontset': 'stix',})# myfont = FontProperties(fname='/homenuxidc/.local/fonts/文泉驿正黑.ttf')x = range(0,102,2)x = [str(x) for x in list(x)]x = range(len(x))#這裡如果取得值,最好省略,否則冗余代碼太多dj1=[0.140885022563663,0.285128051316358,0.331236115292078,0.372582750937596,0.463174450139405,0.586773503380428,0.542598182149781,0.542598182149781,0.564956686389027,0.542598182149781,0.519630577568173,0.428649426296771,0.676284101462148,0.635875231620977,0.564956686389027,0.542598182149781,0.564956686389027,0.62899995822798,0.676284101462148,0.721874028834649,0.676284101462148,0.702515362688485,0.682890636232397,0.557567115066442,0.564956686389027,0.635875231620977,0.656252254277025,0.676284101462148,0.721874028834649,0.62899995822798,0.62899995822798,0.702515362688485,0.759939881400332,0.702515362688485,0.696005029828444,0.656252254277025,0.696005029828444,0.676284101462148,0.608105164606941,0.741002175030875,0.721874028834649,0.702515362688485,0.721874028834649,0.62899995822798,0.608105164606941,0.682890636232397,0.676284101462148,0.702515362688485,0.696005029828444,0.696005029828444,0.696005029828444]plt.plot(x, dj1,marker='s',label=u'小明')plt.grid(linestyle='--') plt.grid(axis="x")plt.title(u'SimHei', fontproperties=font_set)plt.title('小明的標題')plt.legend() # 讓圖例生效y_major_locator=MultipleLocator(0.1)ax=plt.gca()ax.yaxis.set_major_locator(y_major_locator)plt.ylim(0,1)plt.xlim(0,55)plt.margins(0)plt.subplots_adjust(bottom=0.001)plt.xlabel("橫軸",fontproperties=font_set) #X軸標簽plt.ylabel("縱軸",fontproperties=font_set) #Y軸標簽plt.legend(prop={'family':'SimHei','size':15})總結

到此這篇關於python畫圖中文不顯示問題的解決方法的文章就介紹到這了,更多相關python畫圖中文不顯示內容請搜索軟件開發網以前的文章或繼續浏覽下面的相關文章希望大家以後多多支持軟件開發網!



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved