中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python設置matplotlib正確顯示中文的方法

發布時間:2022-01-26 09:41:05 來源:億速云 閱讀:160 作者:iii 欄目:開發技術

這篇文章主要介紹“python設置matplotlib正確顯示中文的方法”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“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()

# 保存圖片  展示show
plt.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()

# 保存圖片  展示show
plt.savefig("折線圖01.png", dpi=200)
plt.show()

python設置matplotlib正確顯示中文的方法

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

二、解決方法

1. 方式一

from matplotlib.font_manager import FontProperties  # 導入FontProperties

font = FontProperties(fname="SimHei.ttf", size=14)  # 設置字體

# 哪里需要顯示中文就在哪里設置
# -*- coding: UTF-8 -*-
"""
@Author  :葉庭云
@公眾號  :修煉Python
@CSDN    :https://yetingyun.blog.csdn.net/
三折線  黑白灰風格  標簽label 標記點形狀
"""
import matplotlib.pyplot as plt
from 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)

# 保存圖片  展示show
plt.savefig("折線圖01.png", dpi=200)
plt.show()

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})

# 保存圖片  展示show
plt.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 plt
import 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()

# 保存圖片  展示show
plt.savefig("折線圖01.png", dpi=200)
plt.show()

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()

# 保存圖片  展示show
plt.savefig("折線圖01.png", dpi=200)
plt.show()

關于“python設置matplotlib正確顯示中文的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三穗县| 徐汇区| 大余县| 镇坪县| 桐梓县| 兴隆县| 宜黄县| 共和县| 大兴区| 康保县| 萨迦县| 阿坝| 客服| 秦皇岛市| 青铜峡市| 游戏| 萨迦县| 长岛县| 大同市| 永寿县| 遂平县| 呼伦贝尔市| 余干县| 陵川县| 太康县| 和静县| 宁武县| 高淳县| 姚安县| 汉沽区| 高安市| 龙州县| 乐亭县| 彰化县| 奉节县| 垫江县| 漯河市| 大化| 香河县| 成都市| 同德县|