国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現matplotlib顯示中文的方法詳解

2020-01-04 15:56:45
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現matplotlib顯示中文的方法。分享給大家供大家參考,具體如下:

【注意】

可能與本文主題無關,不過我還是想指出來:使用matplotlib庫時,下面兩種導入方式是等價的(我指的是等效,當然這個說法可以商榷:)

import matplotlib.pyplot as plt
import pylab as plt

【效果圖】

Python,matplotlib,顯示中文

【方式一】FontProperties

import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties # 步驟一# ...font = FontProperties(fname=r"c:/windows/fonts/simsun.ttc", size=14) # 步驟二plt.xlabel("x軸", fontproperties=font) # 步驟三plt.ylabel("y軸", fontproperties=font)plt.title("標題", fontproperties=font)plt.show()

總的來說,很丑陋。

【方式二】 fontproperties

import matplotlib.pyplot as plt# ...plt.xlabel("x軸")plt.ylabel("y軸", fontproperties="SimSun") # 步驟一  (宋體)plt.title("標題", fontproperties="SimHei") #     (黑體)plt.show()

靈活,另一個優點:不污染全局字體設置

【方式三】rcParams

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體)plt.rcParams['axes.unicode_minus'] = False  # 步驟二(解決坐標軸負數的負號顯示問題)#...plt.xlabel("x軸")plt.ylabel("y軸")plt.title("標題")plt.show()

簡潔的用法。缺點:污染全局字體設置。(所以需要第二步驟)

【方式四】rc

import matplotlib.pyplot as pltfont = {'family' : 'SimHei',    'weight' : 'bold',    'size'  : '16'}plt.rc('font', **font)        # 步驟一(設置字體的更多屬性)plt.rc('axes', unicode_minus=False) # 步驟二(解決坐標軸負數的負號顯示問題)#...plt.xlabel("x軸")plt.ylabel("y軸")plt.title("標題")plt.show()

靈活的用法。缺點:影響全局字體(所以需要第二步驟)

【總結】

方式二用時才設置,且不會污染全局字體設置,更靈活
方式三、方式四不需要對字體路徑硬編碼,而且一次設置,多次使用,更方便。

【測試代碼】

import numpy as npimport matplotlib.pyplot as pltfont = {'family' : 'DFKai-SB',    'weight' : 'bold',    'size'  : '16'}plt.rc('font', **font) # pass in the font dict as kwargsplt.rc('axes',unicode_minus=False)x = np.linspace(0, 10, 1000)y = np.sin(x)z = np.cos(x**2)plt.figure(figsize=(8,4))plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)plt.plot(x,z,"b--",label="$cos(x^2)$")plt.xlabel("x軸")plt.ylabel("y軸")plt.title("標題")plt.ylim(-1.2,1.2)plt.legend()plt.show()

運行結果:

Python,matplotlib,顯示中文

【附錄】

一些中文字體的英文名

 

宋體 SimSun
黑體 SimHei
微軟雅黑 Microsoft YaHei
微軟正黑體 Microsoft JhengHei
新宋體 NSimSun
新細明體 PMingLiU
細明體 MingLiU
標楷體 DFKai-SB
仿宋 FangSong
楷體 KaiTi
隸書 LiSu
幼圓 YouYuan
華文細黑 STXihei
華文楷體 STKaiti
華文宋體 STSong
華文中宋 STZhongsong
華文仿宋 STFangsong
方正舒體 FZShuTi
方正姚體 FZYaoti
華文彩云 STCaiyun
華文琥珀 STHupo
華文隸書 STLiti
華文行楷 STXingkai
華文新魏 STXinwei

 

希望本文所述對大家Python程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 壤塘县| 五家渠市| 赤城县| 昭觉县| 古田县| 南陵县| 周宁县| 沧州市| 安平县| 贺兰县| 托克逊县| 尉氏县| 龙南县| 茶陵县| 保德县| 安龙县| 邯郸市| 项城市| 南乐县| 崇州市| 永靖县| 综艺| 黑山县| 吉首市| 北碚区| 金沙县| 江门市| 天门市| 桐城市| 曲松县| 苍山县| 霍邱县| 宜川县| 舒城县| 贡嘎县| 北票市| 类乌齐县| 民丰县| 万宁市| 大田县| 禹州市|