电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python設置 matplotlib 正確顯示中文的四種方式

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

啪地一下點進來,很快呀~~

python設置 matplotlib 正確顯示中文的四種方式

matplotlib是 Python 優秀的數據可視化第三方庫,matplotlib是基于 numpy 的一套 Python 工具包。這個包提供了豐富的數據繪圖工具,主要用于繪制一些統計圖形。

python設置 matplotlib 正確顯示中文的四種方式

Matplotlib庫由各種可視化類構成,內部結構復雜,受 Matlab 啟發 matplotlib.pyplot 是繪制各類可視化圖形的命令子庫,相當于快捷方式。

import matplotlib.pyplot as plt

可 matplotlib 并不支持中文顯示。有中文顯示會出現如下問題:

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號 :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線 黑白灰風格 標簽label 標記點形狀'''import matplotlib.pyplot as plt# 生成x軸數據 列表推導式x_data = [i for i in range(0, 55, 5)]# 構造y軸數據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]# 設置圖形顯示風格plt.style.use(’ggplot’)# 設置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線 點的形狀 顏色 標簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設備3')# x y 軸標簽 字體大小plt.xlabel('時間周期/min', fontsize=13)plt.ylabel('直接信任度值', fontsize=13)# 顯示圖例plt.legend()# 保存圖片 展示showplt.savefig('折線圖01.png', dpi=200)plt.show()

可 matplotlib 并不支持中文顯示。有中文顯示會出現如下問題:

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號 :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線 黑白灰風格 標簽label 標記點形狀'''import matplotlib.pyplot as plt# 生成x軸數據 列表推導式x_data = [i for i in range(0, 55, 5)]# 構造y軸數據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]# 設置圖形顯示風格plt.style.use(’ggplot’)# 設置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線 點的形狀 顏色 標簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設備3')# x y 軸標簽 字體大小plt.xlabel('時間周期/min', fontsize=13)plt.ylabel('直接信任度值', fontsize=13)# 顯示圖例plt.legend()# 保存圖片 展示showplt.savefig('折線圖01.png', dpi=200)plt.show()

python設置 matplotlib 正確顯示中文的四種方式

需要我們手動一下下設置~~,才能解決中文顯示的問題。

二、解決方法1. 方式一

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

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號 :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線 黑白灰風格 標簽label 標記點形狀'''import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties # 步驟一# 生成x軸數據 列表推導式x_data = [i for i in range(0, 55, 5)]# 構造y軸數據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]# 設置圖形顯示風格plt.style.use(’ggplot’)font = FontProperties(fname='SimHei.ttf', size=14) # 步驟二# 設置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線 點的形狀 顏色 標簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設備3')# x y 軸標簽 字體大小plt.xlabel('時間周期/min', fontsize=13, fontproperties=font)plt.ylabel('直接信任度值', fontsize=13, fontproperties=font)# 顯示圖例plt.legend(prop=font)# 保存圖片 展示showplt.savefig('折線圖01.png', dpi=200)plt.show()

結果如下:

python設置 matplotlib 正確顯示中文的四種方式

2. 方式二

通過 fontdict 字典參數來設置

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

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號 :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線 黑白灰風格 標簽label 標記點形狀'''import matplotlib.pyplot as plt# 生成x軸數據 列表推導式x_data = [i for i in range(0, 55, 5)]# 構造y軸數據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]# 設置圖形顯示風格plt.style.use(’ggplot’)# 設置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線 點的形狀 顏色 標簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設備3')# x y 軸標簽 字體大小plt.xlabel('時間周期/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('折線圖01.png', dpi=200)plt.show()3. 方式三

改變全局的字體

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

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號 :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線 黑白灰風格 標簽label 標記點形狀'''import matplotlib.pyplot as pltimport matplotlib as mpl# 生成x軸數據 列表推導式x_data = [i for i in range(0, 55, 5)]# 構造y軸數據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其實是不支持顯示中文的 顯示中文需要一行代碼設置字體mpl.rcParams[’font.family’] = ’SimHei’plt.rcParams[’axes.unicode_minus’] = False # 步驟二(解決坐標軸負數的負號顯示問題)# 設置圖形顯示風格plt.style.use(’ggplot’)# 設置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線 點的形狀 顏色 標簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設備3')# x y 軸標簽 字體大小plt.xlabel('時間周期/min', fontsize=13)plt.ylabel('直接信任度值', fontsize=13)# 顯示圖例plt.legend()# 保存圖片 展示showplt.savefig('折線圖01.png', dpi=200)plt.show()

結果如下:

python設置 matplotlib 正確顯示中文的四種方式

4. 方式四

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

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

# -*- coding: UTF-8 -*-'''@Author :葉庭云@公眾號 :修煉Python@CSDN :https://yetingyun.blog.csdn.net/三折線 黑白灰風格 標簽label 標記點形狀'''import matplotlib.pyplot as plt# 生成x軸數據 列表推導式x_data = [i for i in range(0, 55, 5)]# 構造y軸數據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) # 步驟一(設置字體的更多屬性)plt.rc(’axes’, unicode_minus=False) # 步驟二(解決坐標軸負數的負號顯示問題)# 設置圖形顯示風格plt.style.use(’ggplot’)# 設置figure大小 像素plt.figure(figsize=(8, 5), dpi=100)# 繪制三條折線 點的形狀 顏色 標簽:用于圖例顯示plt.plot(x_data, y_data1, marker=’^’, color='k', label='設備1')plt.plot(x_data, y_data2, marker='o', color='k', label='設備2')plt.plot(x_data, y_data3, marker='s', color='k', label='設備3')# x y 軸標簽 字體大小plt.xlabel('時間周期/min', fontsize=13)plt.ylabel('直接信任度值', fontsize=13)# 顯示圖例plt.legend()# 保存圖片 展示showplt.savefig('折線圖01.png', dpi=200)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設置 matplotlib 正確顯示中文的四種方式的詳細內容,更多關于python matplotlib 正確顯示中文的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 谷梁科技 | 无线遥控更衣吊篮_IC卡更衣吊篮_电动更衣吊篮配件_煤矿更衣吊篮-力得电子 | 共享雨伞_共享童车_共享轮椅_共享陪护床-共享产品的领先者_有伞科技 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 森旺-A级防火板_石英纤维板_不燃抗菌板装饰板_医疗板 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 青岛成人高考_山东成考报名网 | 找培训机构_找学习课程_励普教育 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 广西教师资格网-广西教师资格证考试网 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | 楼承板-钢筋楼承板-闭口楼承板-无锡优贝斯楼承板厂 | 深圳南财多媒体有限公司介绍 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 空压机网_《压缩机》杂志| 冷镦机-多工位冷镦机-高速冷镦机厂家-温州金诺机械设备制造有限公司 | 剪刃_纵剪机刀片_分条机刀片-南京雷德机械有限公司 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 转向助力泵/水泵/发电机皮带轮生产厂家-锦州华一精工有限公司 | 幂简集成 - 品种超全的API接口平台, 一站搜索、试用、集成国内外API接口 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 锤式粉碎机,医药粉碎机,锥式粉碎机-无锡市迪麦森机械制造有限公司 | 新能源汽车电机定转子合装机 - 电机维修设备 - 睿望达 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 品牌设计_VI设计_电影海报设计_包装设计_LOGO设计-Bacross新越品牌顾问 | ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 置顶式搅拌器-优莱博化学防爆冰箱-磁驱搅拌器-天津市布鲁克科技有限公司 | 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 |