国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python學習過程問題記錄(二):Matplotlib中文顯示問題

這篇具有很好參考價值的文章主要介紹了Python學習過程問題記錄(二):Matplotlib中文顯示問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

環(huán)境:macOS Monterey 12.2.1、Python3.10.2、Matplotlib 3.5.1

目錄

方法一:修改配置文件,全局字體修改

例外情況

方法二:rcParams設置,全局字體修改

方法三:fontproperties設置,非全局字體修改

方法四:FontProperties設置,非全局字體修改


方法一:修改配置文件,全局字體修改

搜索網絡的解決方式,通過copy字體和修改matplotlibrc的三處文本解決問題,大部分情況下代碼能正常顯示中文。

1. 終端輸入命令:python,進入Python界面輸入代碼,獲取matplotlib包所在的配置文件的路徑。比如我的為:?/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/matplotlib/mpl-data/matplotlibrc

import?matplotlib
matplotlib.matplotlib_fname()?????#輸出matplotlib包所在的配置文件的路徑
Python學習過程問題記錄(二):Matplotlib中文顯示問題
獲取matplotlib包配置文件的路徑

2. 根據(jù)第一步獲取路徑打開文件夾。比如我的路徑為:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf

3. 網絡下載中文字體放進去,比如SimHei.ttf(黑體)、SimSun.ttf(宋體),YaHei.ttf(微軟雅黑)。要ttf格式的,并安裝字體

4. 使用文本編輯或sublime Text軟件打開matplotlibrc文件。(位置:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/matplotlib/mpl-data/matplotlibrc
(1)找到font.family: sans-serif,去掉最前面的#。
(2)找到font.sans-serif:,去掉前面的#,并將剛才的SimHei、SimSun、Microsoft YaHei添加進去。

Python學習過程問題記錄(二):Matplotlib中文顯示問題
修改matplotlibrc文件的font設置


(3)找到axes.unicode_minus: True,去掉最前面的#,并將True改為False。

Python學習過程問題記錄(二):Matplotlib中文顯示問題
修改matplotlibrc文件的axes設置

4. 保存、關閉matplotlibrc文件。

5. 打開/Users/用戶名/.matplotlib文件夾,把里面的文件刪掉。我的里面只有一個fontlist-v330.json。

6. 以后的大部分代碼不用任何設置可以正常顯示中文了。

如以下代碼繪制的圖形中文標題正常顯示。

import?matplotlib.pyplot?as?plt

input_values?=?[1,?2,?3,?4,?5,?6]
squares?=?[1,?4,?9,?16,?25,?36]
fig,?ax?=?plt.subplots()
ax.plot(input_values,?squares,?linewidth=3)
ax.set_title("平方值",?fontsize=20)
ax.set_xlabel("值",?fontsize=14)
ax.set_ylabel("平方-值",?fontsize=14)
ax.tick_params(axis='both',?labelsize=14)
plt.show()
Python學習過程問題記錄(二):Matplotlib中文顯示問題
中文正常顯示

例外情況

雖然方法一通過修改配置文件修改了全局的字體設置,但以下場景繪制的圖像還是不能正常顯示中文:代碼中圖形使用plt.style.use('seaborn')設置時。

可以用方法二來解決。

import?matplotlib.pyplot?as?plt
...
plt.style.use('seaborn')????#?上述代碼加入此句代碼
fig,?ax?=?plt.subplots()
...????
Python學習過程問題記錄(二):Matplotlib中文顯示問題
中文不能正常顯示

方法二:rcParams設置,全局字體修改

1. 在plt.style.use('seaborn')?后面加上字體設置代碼,即可顯示中文。字體設置代碼必須在seaborn代碼后面才能生效。

2. 字體設置只針對該py文件plt.style.use('seaborn')?后面的代碼有效,如果后面的圖像又使用類似plt.style.use('seaborn')?語句,還需要再次設置字體代碼。

import?matplotlib.pyplot?as?plt?#?最前面如果已經import,此句可以不要???????
...
plt.style.use('seaborn')
#?字體設置代碼
plt.rcParams['font.sans-serif']?=?'Microsoft?Yahei'?#?顯示漢字:SimHei黑體,simsum宋體,Microsoft?YaHei雅黑。根據(jù)系統(tǒng)安裝的字體,有的能用有的不能用,我的是這三個可以。
plt.rcParams['axes.unicode_minus']?=?False?#?正常顯示負號
Python學習過程問題記錄(二):Matplotlib中文顯示問題
中文又能正常顯示

方法三:fontproperties設置,非全局字體修改

1. 在plt.title()、plt.xlabel(),plt.ylabel()參數(shù)設置中,使用fontproperties指定字體。

2. 可以指定不同的字體,但字體必須在ttf里,并已安裝。

import?matplotlib.pyplot?as?plt

input_values?=?[1,?2,?3,?4,?5,?6]
squares?=?[1,?4,?9,?16,?25,?36]
plt.style.use('seaborn')
plt.plot(input_values,?squares,?linewidth=3)
plt.figure("Hello測試中文!",facecolor='lightgray')
plt.title("測試中文",fontsize=20,fontproperties="Microsoft?Yahei")
plt.xlabel("X值",?fontsize=14,fontproperties="SimHei")
plt.ylabel("Y值",?fontsize=14,fontproperties="SimHei")
plt.show()
Python學習過程問題記錄(二):Matplotlib中文顯示問題
中文正常顯示(可以不同字體)

方法四:FontProperties設置,非全局字體修改

此方法需要導入FontProperties模塊、設置myfont變量,并指定fontproperties參數(shù)三個步驟,雖繁瑣,但可以指定ttc格式的字體文件。

1.?導入FontProperties模塊:from matplotlib.font_manager import FontProperties

2. 設置變量myfont = FontProperties(fname=r"/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/PingFang.ttc", size=14)?

3.?plt.title()、plt.xlabel(),plt.ylabel()參數(shù)設置中,使用fontproperties指定字體為變量myfont。?

import?matplotlib.pyplot?as?plt
from?matplotlib.font_manager?import?FontProperties    # 步驟一

input_values?=?[1,?2,?3,?4,?5,?6]
squares?=?[1,?4,?9,?16,?25,?36]
# 步驟二
myfont?=?FontProperties(fname=r"/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/PingFang.ttc",?size=14)

plt.style.use('seaborn')
fig,?ax?=?plt.subplots()
ax.plot(input_values,?squares,?linewidth=3)
ax.set_title("平方值",?fontproperties=myfont)      # 步驟三
ax.set_xlabel("值",?fontproperties=myfont)        # 步驟三
ax.set_ylabel("平方-值",?fontproperties=myfont)    # 步驟三
ax.tick_params(axis='both',?labelsize=14)

plt.show()
Python學習過程問題記錄(二):Matplotlib中文顯示問題
中文正常顯示指定字體

還有一種通過rc設置的全局字體修改方法,和方法二有些類似。但試了一下不太好用,就不寫了。文章來源地址http://www.zghlxwxcb.cn/news/detail-419293.html

到了這里,關于Python學習過程問題記錄(二):Matplotlib中文顯示問題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Matplotlib不顯示中文解決辦法

    Matplotlib不顯示中文解決辦法

    ? 此處選擇繪制電影票房條形圖作為案例講解。 ? 可以看到在x軸的刻度上本應該顯示各個電影的名字,但是卻都變成了方框。 解決這個問題的主要思路是:設置一個字體變量my_font,讓路徑是你電腦里的本地字體,然后在需要顯示中文的代碼中,單獨將字體設置為這個字體變

    2024年02月05日
    瀏覽(21)
  • 優(yōu)雅解決Python中matplotlib繪圖時漢字顯示不正常的問題

    優(yōu)雅解決Python中matplotlib繪圖時漢字顯示不正常的問題

    我們使用了如下代碼,為了在圖表上繪制中文 圖表最后出現(xiàn)了這種方框形式的錯誤。 并報了如下錯誤 這種報錯,實際是一種警告,并不影響程序的正常運行,所以最后也能出效果圖,但無法正常顯示中文。其實就是matplotlib 庫內沒有 SimHei 字體,所以需要下載相關文件。 下

    2024年04月25日
    瀏覽(53)
  • Ubuntu下讓matplotlib顯示中文字體

    Ubuntu下讓matplotlib顯示中文字體

    參考文章: https://zodiac911.github.io/blog/matplotlib-chinese.html Ubuntu下python的matplotlib庫顯示中文字體很不方便,本文快速解決這個問題。 Ubuntu的字體目錄在 /usr/share/fonts 下,自帶的中文字體很爛,先安裝一下中文字體庫。 終端輸入: 你會發(fā)現(xiàn)在 /usr/share/fonts/MyFonts 下添加了很多新字

    2024年02月07日
    瀏覽(101)
  • 兩招解決Python畫圖無法顯示中文的問題

    兩招解決Python畫圖無法顯示中文的問題

    ? ? 小伙伴們用Python進行數(shù)據(jù)可視化的時候可能會遇到這樣的問題(以Jupyter Notebook為例): ?咱們明明輸入的有中文,但圖片卻只顯示字母不顯示漢字。解決這個問題,只需要在源代碼的基礎上加入以下代碼: ?這樣中文就顯示出來了。 ? ? 還是以Jupyter Notebook為例,直接運

    2024年02月15日
    瀏覽(22)
  • Python 學習之路:python3中pygame解決中文顯示

    Python 學習之路:python3中pygame解決中文顯示

    ????????這篇文章主要介紹python3中pygame解決中文顯示問題,通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下。 ? 1.實例代碼展示: 2.實例運行效果: 3.路徑和字體設置: ????????需要自己下載好字體,放置一個指定

    2024年02月11日
    瀏覽(21)
  • python黑客代碼雨:實現(xiàn)包括中文等的多種語言,全屏幕顯示,從根本解決中文不顯示問題,有完整可執(zhí)行代碼

    python黑客代碼雨:實現(xiàn)包括中文等的多種語言,全屏幕顯示,從根本解決中文不顯示問題,有完整可執(zhí)行代碼

    完整代碼放在最下面 上結果圖: 中文無法顯示的亞子:(也挺好看的哈哈) 正題: 代碼能跑但是中文是這種亂碼或者黑屏的情況主要是因為沒有指定字體或者字體是你電腦沒有的 如何找到自己電腦的字體呢,代碼如下: 將獲取的字體復制到一個word文檔或者其他方式都可以

    2024年02月12日
    瀏覽(23)
  • 【python】jupyter notebook導出pdf和pdf不顯示中文問題

    【python】jupyter notebook導出pdf和pdf不顯示中文問題

    使用jupyter notebook導出pdf時,出現(xiàn)了一些問題: 1)會報錯,缺少安裝包; 2)沒有報錯并且生成了pdf,但是只顯示英文,不顯示中文; 3)插入svg圖片問題; 下面是給出了一些網搜后適用自己的解決辦法。 導出pdf步驟: File- Download as - PDF via LaTex(.pdf) : 出現(xiàn)報錯沒有 Pandoc :

    2024年02月11日
    瀏覽(29)
  • 樹莓派-python3.11 記錄opencv 安裝過程遇到問題

    樹莓派-python3.11 記錄opencv 安裝過程遇到問題

    按照這一篇進行樹莓派4b安裝opencv-python詳細過程。 方法一:大通過編譯安裝,其中會遇到不少問題,之前安裝過一遍走通過一次,但是python版本高了之后遇到很多問題。目前沒走通,給出解決方案以供參考。 ?在4.配置cmake時遇到第一個問題, 這段代碼會顯示如下的報錯:

    2024年02月03日
    瀏覽(20)
  • Python的Matplotlib 設置中文字體,字號

    ? 生成需要繪圖的數(shù)據(jù): ?設定曲線的標簽、橫縱坐標、橫縱軸名稱、圖例。 其中的“size = 12”、“fontsize=12”是指12像素,在mpl中,默認單位是像素,而word中的字號單位是磅。1磅=4/3像素,所以size=12對應的是小五號字(9磅)。 ? ?

    2024年02月02日
    瀏覽(158)
  • Python中使用matplotlib時顯示中文亂碼_(或更改字體)

    Python中使用matplotlib時顯示中文亂碼_(或更改字體)

    ????????在使用matplotlib繪制可視化圖表時,圖表的中文顯示亂碼,只能正常顯示英文內容,如下圖所示: ? ? ?一般顯示亂碼是由于編碼問題導致的,而matplotlib 默認使用ASCII 編碼,但是當使用pyplot時,是支持unicode編碼的,只是默認字體是英文字體,導致中文無法正常顯

    2024年02月12日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包