日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python修改字体无效_matplotlib中修改默认字体

發布時間:2023/11/30 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python修改字体无效_matplotlib中修改默认字体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先介紹一下我的開發環境:

系統平臺: Win 10

anaconda 3:

matplotlib 3.1.3

修改matplotlib繪制的圖表的默認配置是有三種方案( 以修改為中文字體為例 ):

1、方案一: 通過 font_manager中的fontproperties來指定本機安裝的中文字庫,請注意確保本機對應的路徑下已安裝此字體(不足:只在當前cell中有效)

以下是我的測試代碼

# 中文文本解決方案

import matplotlib.font_manager as fm

myfont=fm.FontProperties(fname='C:\Windows\Fonts\simsun.ttc')

# 注意確保本機對應的路徑下已安裝此字體

plt.axis([0,5,0,20])

plt.title('我的第一個圖表',fontsize=20,fontproperties=myfont)

plt.xlabel('x')

plt.ylabel('y')

plt.text(1,1.5,'一',fontproperties=myfont)

plt.text(2,4.5,'二',fontproperties=myfont)

plt.text(3,9.5,'三',fontproperties=myfont)

plt.text(4,16.5,'四',fontproperties=myfont)

plt.plot([1,2,3,4],[1,4,9,16],'ro')

2、方案二: 通過指定 plt.style.use() 或 plt.rcParams 配置樣式,則對這個 plt 所繪制的所有的圖有效果,這兩種方案配置的文檔可以參考官網配置

(不足:重啟Jupyter的服務后,需要重新執行全局修改聲明)

以下是我的測試代碼

# 通過指定 plt.rcParams 配置樣式的話 修改全局默認圖表配置效果

plt.rcParams['font.sans-serif']=['SimHei'] #用來顯示正常中文的標簽

plt.rcParams['axes.unicode_minus']=False # 用來正常顯示負號

plt.axis([0,5,0,20])

plt.title('我的第一個圖表',fontsize=20)

plt.xlabel('x')

plt.ylabel('y')

plt.text(1,1.5,'一')

plt.text(2,4.5,'二')

plt.text(3,9.5,'三')

plt.text(4,16.5,'四',fontproperties=myfont)

plt.plot([1,2,3,4],[1,4,9,16],'ro')

3、方案三:通過修改 matplotlibrc 文件來實現全局配置. 具體的配置項請參考matplotlib的安裝目錄下的文件matplotlibrc,此文件的位置可以使用以下命令查看:

此文件的具體內容也可在matplotlib的官網查看

import matplotlib

matplotlib.matplotlib_fname()

這個文件在我這里所在位置:

D:\software\anaconda3\Lib\site-packages\matplotlib\mpl-data\matplotlibrc

找到這個文件并打開,分析內容,字體家族共有五種分別是:

#font.serif: DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif

#font.sans-serif: DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

#font.cursive: Apple Chancery, Textile, Zapf Chancery, Sand, Script MT, Felipa, cursive

#font.fantasy: Comic Neue, Comic Sans MS, Chicago, Charcoal, ImpactWestern, Humor Sans, xkcd, fantasy

#font.monospace: DejaVu Sans Mono, Bitstream Vera Sans Mono, Computer Modern Typewriter, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace

默認的情況下,是沒有中文字體,Win10自帶了SimHei的中文字體(如若沒有可自行安裝一下),它屬于 sans-serif 字體家族。所以我配置成了

plt.rcParams[‘font.sans-serif’]=[‘SimHei’] #用來正常顯示中文標簽 ,

這樣就可以顯示中文了,但這種配置方案只針對當前的plt有效,另起一個進程就無效了.

找到其中的

#font.sans-serif: DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

修改成:

font.sans-serif : SimHei

注意: 在這個文件中所以以 # 開頭的部分都是系統的默認配置。

驗證以上全局配置是否成功:

import matplotlib

print(matplotlib.rc_params())

可以得到以下結果,表示配置成功:

原文鏈接:https://blog.csdn.net/weixin_44422604/article/details/107954093

總結

以上是生活随笔為你收集整理的python修改字体无效_matplotlib中修改默认字体的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。