国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python設(shè)置 matplotlib 正確顯示中文的四種方式

瀏覽:4日期:2022-06-20 09:46:23
一、前言

啪地一下點(diǎn)進(jìn)來(lái),很快呀~~

python設(shè)置 matplotlib 正確顯示中文的四種方式

matplotlib是 Python 優(yōu)秀的數(shù)據(jù)可視化第三方庫(kù),matplotlib是基于 numpy 的一套 Python 工具包。這個(gè)包提供了豐富的數(shù)據(jù)繪圖工具,主要用于繪制一些統(tǒng)計(jì)圖形。

python設(shè)置 matplotlib 正確顯示中文的四種方式

Matplotlib庫(kù)由各種可視化類(lèi)構(gòu)成,內(nèi)部結(jié)構(gòu)復(fù)雜,受 Matlab 啟發(fā) matplotlib.pyplot 是繪制各類(lèi)可視化圖形的命令子庫(kù),相當(dāng)于快捷方式。

import matplotlib.pyplot as plt

可 matplotlib 并不支持中文顯示。有中文顯示會(huì)出現(xiàn)如下問(wèn)題:

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號(hào) :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線(xiàn) 黑白灰風(fēng)格 標(biāo)簽label 標(biāo)記點(diǎn)形狀'''import matplotlib.pyplot as plt# 生成x軸數(shù)據(jù) 列表推導(dǎo)式x_data = [i for i in range(0, 55, 5)]# 構(gòu)造y軸數(shù)據(jù)y_data1 = [0.5, 0.62, 0.72, 0.78, 0.85, 0.7, 0.64, 0.44, 0.29, 0.15, 0.09]y_data2 = [0.5, 0.67, 0.71, 0.76, 0.79, 0.66, 0.58, 0.44, 0.38, 0.26, 0.18]y_data3 = [0.5, 0.59, 0.72, 0.74, 0.76, 0.68, 0.58, 0.48, 0.4, 0.36, 0.3]# 設(shè)置圖形顯示風(fēng)格plt.style.use(’ggplot’)# 設(shè)置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線(xiàn) 點(diǎn)的形狀 顏色 標(biāo)簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設(shè)備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設(shè)備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設(shè)備3')# x y 軸標(biāo)簽 字體大小plt.xlabel('時(shí)間周期/min', fontsize=13)plt.ylabel('直接信任度值', fontsize=13)# 顯示圖例plt.legend()# 保存圖片 展示showplt.savefig('折線(xiàn)圖01.png', dpi=200)plt.show()

可 matplotlib 并不支持中文顯示。有中文顯示會(huì)出現(xiàn)如下問(wèn)題:

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號(hào) :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線(xiàn) 黑白灰風(fēng)格 標(biāo)簽label 標(biāo)記點(diǎn)形狀'''import matplotlib.pyplot as plt# 生成x軸數(shù)據(jù) 列表推導(dǎo)式x_data = [i for i in range(0, 55, 5)]# 構(gòu)造y軸數(shù)據(jù)y_data1 = [0.5, 0.62, 0.72, 0.78, 0.85, 0.7, 0.64, 0.44, 0.29, 0.15, 0.09]y_data2 = [0.5, 0.67, 0.71, 0.76, 0.79, 0.66, 0.58, 0.44, 0.38, 0.26, 0.18]y_data3 = [0.5, 0.59, 0.72, 0.74, 0.76, 0.68, 0.58, 0.48, 0.4, 0.36, 0.3]# 設(shè)置圖形顯示風(fēng)格plt.style.use(’ggplot’)# 設(shè)置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線(xiàn) 點(diǎn)的形狀 顏色 標(biāo)簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設(shè)備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設(shè)備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設(shè)備3')# x y 軸標(biāo)簽 字體大小plt.xlabel('時(shí)間周期/min', fontsize=13)plt.ylabel('直接信任度值', fontsize=13)# 顯示圖例plt.legend()# 保存圖片 展示showplt.savefig('折線(xiàn)圖01.png', dpi=200)plt.show()

python設(shè)置 matplotlib 正確顯示中文的四種方式

需要我們手動(dòng)一下下設(shè)置~~,才能解決中文顯示的問(wèn)題。

二、解決方法1. 方式一

from matplotlib.font_manager import FontProperties # 導(dǎo)入FontPropertiesfont = FontProperties(fname='SimHei.ttf', size=14) # 設(shè)置字體# 哪里需要顯示中文就在哪里設(shè)置

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號(hào) :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線(xiàn) 黑白灰風(fēng)格 標(biāo)簽label 標(biāo)記點(diǎn)形狀'''import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties # 步驟一# 生成x軸數(shù)據(jù) 列表推導(dǎo)式x_data = [i for i in range(0, 55, 5)]# 構(gòu)造y軸數(shù)據(jù)y_data1 = [0.5, 0.62, 0.72, 0.78, 0.85, 0.7, 0.64, 0.44, 0.29, 0.15, 0.09]y_data2 = [0.5, 0.67, 0.71, 0.76, 0.79, 0.66, 0.58, 0.44, 0.38, 0.26, 0.18]y_data3 = [0.5, 0.59, 0.72, 0.74, 0.76, 0.68, 0.58, 0.48, 0.4, 0.36, 0.3]# 設(shè)置圖形顯示風(fēng)格plt.style.use(’ggplot’)font = FontProperties(fname='SimHei.ttf', size=14) # 步驟二# 設(shè)置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線(xiàn) 點(diǎn)的形狀 顏色 標(biāo)簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設(shè)備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設(shè)備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設(shè)備3')# x y 軸標(biāo)簽 字體大小plt.xlabel('時(shí)間周期/min', fontsize=13, fontproperties=font)plt.ylabel('直接信任度值', fontsize=13, fontproperties=font)# 顯示圖例plt.legend(prop=font)# 保存圖片 展示showplt.savefig('折線(xiàn)圖01.png', dpi=200)plt.show()

結(jié)果如下:

python設(shè)置 matplotlib 正確顯示中文的四種方式

2. 方式二

通過(guò) fontdict 字典參數(shù)來(lái)設(shè)置

fontdict={'family': 'KaiTi', 'size': 15, 'color': 'r'}

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號(hào) :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線(xiàn) 黑白灰風(fēng)格 標(biāo)簽label 標(biāo)記點(diǎn)形狀'''import matplotlib.pyplot as plt# 生成x軸數(shù)據(jù) 列表推導(dǎo)式x_data = [i for i in range(0, 55, 5)]# 構(gòu)造y軸數(shù)據(jù)y_data1 = [0.5, 0.62, 0.72, 0.78, 0.85, 0.7, 0.64, 0.44, 0.29, 0.15, 0.09]y_data2 = [0.5, 0.67, 0.71, 0.76, 0.79, 0.66, 0.58, 0.44, 0.38, 0.26, 0.18]y_data3 = [0.5, 0.59, 0.72, 0.74, 0.76, 0.68, 0.58, 0.48, 0.4, 0.36, 0.3]# 設(shè)置圖形顯示風(fēng)格plt.style.use(’ggplot’)# 設(shè)置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線(xiàn) 點(diǎn)的形狀 顏色 標(biāo)簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設(shè)備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設(shè)備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設(shè)備3')# x y 軸標(biāo)簽 字體大小plt.xlabel('時(shí)間周期/min', fontsize=13, fontdict={'family': 'KaiTi', 'size': 15, 'color': 'r'})plt.ylabel('直接信任度值', fontsize=13, fontdict={'family': 'KaiTi', 'size': 15, 'color': 'k'})# 顯示圖例plt.legend(prop={’family’: ’SimHei’, ’size’: 16})# 保存圖片 展示showplt.savefig('折線(xiàn)圖01.png', dpi=200)plt.show()3. 方式三

改變?nèi)值淖煮w

# matplotlib其實(shí)是不支持顯示中文的 顯示中文需要一行代碼設(shè)置字體mpl.rcParams[’font.family’] = ’SimHei’plt.rcParams[’axes.unicode_minus’] = False # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號(hào)顯示問(wèn)題)

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號(hào) :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線(xiàn) 黑白灰風(fēng)格 標(biāo)簽label 標(biāo)記點(diǎn)形狀'''import matplotlib.pyplot as pltimport matplotlib as mpl# 生成x軸數(shù)據(jù) 列表推導(dǎo)式x_data = [i for i in range(0, 55, 5)]# 構(gòu)造y軸數(shù)據(jù)y_data1 = [0.5, 0.62, 0.72, 0.78, 0.85, 0.7, 0.64, 0.44, 0.29, 0.15, 0.09]y_data2 = [0.5, 0.67, 0.71, 0.76, 0.79, 0.66, 0.58, 0.44, 0.38, 0.26, 0.18]y_data3 = [0.5, 0.59, 0.72, 0.74, 0.76, 0.68, 0.58, 0.48, 0.4, 0.36, 0.3]# matplotlib其實(shí)是不支持顯示中文的 顯示中文需要一行代碼設(shè)置字體mpl.rcParams[’font.family’] = ’SimHei’plt.rcParams[’axes.unicode_minus’] = False # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號(hào)顯示問(wèn)題)# 設(shè)置圖形顯示風(fēng)格plt.style.use(’ggplot’)# 設(shè)置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線(xiàn) 點(diǎn)的形狀 顏色 標(biāo)簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設(shè)備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設(shè)備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設(shè)備3')# x y 軸標(biāo)簽 字體大小plt.xlabel('時(shí)間周期/min', fontsize=13)plt.ylabel('直接信任度值', fontsize=13)# 顯示圖例plt.legend()# 保存圖片 展示showplt.savefig('折線(xiàn)圖01.png', dpi=200)plt.show()

結(jié)果如下:

python設(shè)置 matplotlib 正確顯示中文的四種方式

4. 方式四

同樣也是全局改變字體的方法

font = {’family’ : ’SimHei’,’weight’ : ’bold’,’size’ : ’16’}plt.rc(’font’, **font) # 步驟一(設(shè)置字體的更多屬性)plt.rc(’axes’, unicode_minus=False) # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號(hào)顯示問(wèn)題)

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號(hào) :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線(xiàn) 黑白灰風(fēng)格 標(biāo)簽label 標(biāo)記點(diǎn)形狀'''import matplotlib.pyplot as plt# 生成x軸數(shù)據(jù) 列表推導(dǎo)式x_data = [i for i in range(0, 55, 5)]# 構(gòu)造y軸數(shù)據(jù)y_data1 = [0.5, 0.62, 0.72, 0.78, 0.85, 0.7, 0.64, 0.44, 0.29, 0.15, 0.09]y_data2 = [0.5, 0.67, 0.71, 0.76, 0.79, 0.66, 0.58, 0.44, 0.38, 0.26, 0.18]y_data3 = [0.5, 0.59, 0.72, 0.74, 0.76, 0.68, 0.58, 0.48, 0.4, 0.36, 0.3]font = {’family’ : ’SimHei’,’weight’ : ’bold’,’size’ : ’16’}plt.rc(’font’, **font) # 步驟一(設(shè)置字體的更多屬性)plt.rc(’axes’, unicode_minus=False) # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號(hào)顯示問(wèn)題)# 設(shè)置圖形顯示風(fēng)格plt.style.use(’ggplot’)# 設(shè)置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線(xiàn) 點(diǎn)的形狀 顏色 標(biāo)簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設(shè)備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設(shè)備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設(shè)備3')# x y 軸標(biāo)簽 字體大小plt.xlabel('時(shí)間周期/min', fontsize=13)plt.ylabel('直接信任度值', fontsize=13)# 顯示圖例plt.legend()# 保存圖片 展示showplt.savefig('折線(xiàn)圖01.png', dpi=200)plt.show()

結(jié)果如下:

python設(shè)置 matplotlib 正確顯示中文的四種方式

三、總結(jié) 方式一、方式二是哪里需要中文顯示才設(shè)置,且不會(huì)污染全局字體設(shè)置,更靈活。 方式三、方式四不改變?nèi)值淖煮w設(shè)置,一次設(shè)置,多次使用,更方便。

附常用字體如下:

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

以上就是python設(shè)置 matplotlib 正確顯示中文的四種方式的詳細(xì)內(nèi)容,更多關(guān)于python matplotlib 正確顯示中文的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 利辛县| 枞阳县| 大渡口区| 商洛市| 揭西县| 东海县| 巨野县| 会东县| 昆山市| 林芝县| 牟定县| 阿拉善右旗| 稻城县| 酉阳| 玛纳斯县| 鸡西市| 康乐县| 庐江县| 名山县| 肇州县| 陈巴尔虎旗| 玛沁县| 怀安县| 淅川县| 丹东市| 讷河市| 左权县| 靖宇县| 宁国市| 额敏县| 临高县| 黄梅县| 和林格尔县| 革吉县| 临湘市| 汾西县| 宝兴县| 毕节市| 瑞安市| 增城市| 平定县|