最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

matplotlib legend()里字體如何修改

 更新時間:2023年09月14日 14:40:07   作者:沉思的雅典娜  
這篇文章主要介紹了matplotlib legend()里字體如何修改問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

matplotlib legend()里字體修改

背景:準備投論文,因為操蛋的模板要求,所以你得好好修改。

對legend()顯示的內(nèi)容的字體進行修改

labelss = plt.legend(loc='upper right').get_texts()
[label.set_fontname('Times New Roman') for label in labelss]
label = labelss[0]
label.set_fontproperties('SimSun')

如果你在一個plt顯示多個線條,每個線條都設(shè)置label后,在最后通過plt.legend()方法顯示,在這種情況下,要是中文設(shè)置宋體,英文設(shè)置Times New Roman,那你呵呵吧,通過set_fontname只會修改整體,而通過set_fontproperties才能對單個label進行修改。具體參考了matplotlib.Text的屬性。

matplotlib 科學繪圖字體設(shè)置

近期文章定稿,在確認最終版的插圖時,被導師指出來很多沒注意到的細節(jié),其中印象最深的怕就是上下標的字體了,因為一開始用的是 Latex 的公式編譯,所以沒有注意到上下標的問題,結(jié)果在導師指出之后,才發(fā)現(xiàn)所有的上下標的字號都是有問題的,果然啊,大佬的一句指點對我們這些小菜雞來說,就是一個質(zhì)的提升啊。

借記錄上下標的字體設(shè)置,將 Matplotlib 的所有相關(guān)的字體設(shè)置都記錄下來。  

閑話少說,直接上代碼吧,完事接著去爆肝。

# -*- coding: utf-8 -*-
"""
@ Author: 	Tsinlu_Lee
@ Mails: 	liqinlu19@mails.ucas.ac.cn
		 	liql0429@163.com
@ Address: 	Beijing, China
"""
import matplotlib as mpl
mpl.rcdefaults() # 恢復 mpl 為默認設(shè)置
mpl.mathtext.FontConstantsBase.sup1 = 0.45 # 注意,這個用法在matplotlib 3.4 以后被棄用了,替代
# 功能我沒有找到,你們要是知道的話可以留言告訴我
"""
2023/06/14 更新
from matplotlib.mathtext import _mathtext as mathtext
mathtext.FontConstantsBase.sup1 = 0.45
找到了哈,這個功能移入_mathtext中,更新一下。參考引文如下??
https://stackoverflow.com/questions/41837171
"""
# 一般來說,這些內(nèi)容需要在代碼最開始聲明,為了增強比較,我在后面的代碼中加了這兩行代碼,注意
# 設(shè)置的差別
import matplotlib.pyplot as plt
plt.rcParams["mathtext.default"]="regular" # 設(shè)置公式的字體和其他字體統(tǒng)一
font_options = {"family":"Arial","size":16} 
fig = plt.figure(figsize=(5,3.8),dpi=540) # mpl 使用 inch 作為畫布大小的單位,1 inch = 2.54 cm,
# 為了標準規(guī)范的繪圖輸出,建議直接設(shè)置畫布大小為 word 中的實際大小,然后設(shè)置字號為 11 號,即小四號
fig.text(0.18,0.78,"(a)",fontdict=font_options) # 其實在沒有子圖的時候,不需要加子圖標號的,
# 但為了記錄子圖標號的字體設(shè)置,直接在這里加了。
ax1 = plt.subplot(111)
# 設(shè)置圖例
plt.scatter(0.25,0.25,  # 點中心的 x, y 位置
            s=200, # 點的大小,設(shè)為與x, y 等長度的數(shù)組時,可以繪制氣泡圖
            marker="s", # 點的形狀
            ec="k", # 點的邊框顏色
            fc="wheat", # 點的填充顏色
            linewidths=1.2, # 點的邊框粗細
            label="Test point") # 設(shè)置點的圖例名稱
plt.legend(loc="lower left", framealpha=0,
           prop = font_options) # 關(guān)鍵來了,在 mpl 中,大多數(shù)設(shè)置字體的命令都是 fontdict,
# 但設(shè)置圖例時卻變成了 prop
# 設(shè)置上下標
plt.text(x=0.5,y=0.9,s = "CO$_2$ flux (g C m$^{-2}$ s$^{-1}$)") # 使用默認字體
plt.text(x=0.5,y=0.8,s = "CO$_2$ flux (g C m$^{-2}$ s$^{-1}$)",ha="center") # 使用默認字體
mpl.rcdefaults() # 為了便于比較上下標的差別,先恢復 mpl 為默認設(shè)置
plt.text(x=0.5,y=0.7,s = "CO$_2$ flux (g C m$^{-2}$ s$^{-1}$)",ha="center",
		fontdict=font_options)
mpl.mathtext.FontConstantsBase.sup1 = 0.45 # 注意,這個用法在matplotlib 3.4 以后被棄用了,
# 替代功能我沒有找到,你們要是知道的話可以留言告訴我
plt.text(x=0.5,y=0.6,
		s = "$\mathregular{CO_2}$ flux (g C m$\mathregular{^{-2}}$ s$\mathregular{^{-1}}$)",
         ha="center",fontdict=font_options)
# 設(shè)置橫縱坐標刻度字體
plt.xticks([0,0.5,1])
plt.yticks([0,0.5,1])
"""
2023/07/12 更新
最近發(fā)現(xiàn)一個更花的玩法,記錄一下
plt.xticks([0,0.5,1],[0,0.5,1],fontdict=font_options)
這句代碼會把plt.xticks變?yōu)閜lt.text,直接可以定義字體,簡直不要太爽。
"""
plt.tick_params(labelsize=14)
# labels = ax1.get_xticklabels() + ax1.get_yticklabels() 同時設(shè)置橫縱坐標
labels = ax1.get_xticklabels() # 為了對比,只設(shè)置橫坐標,縱坐標使用默認
[label.set_fontname('Arial') for label in labels]
# 設(shè)置橫縱坐標標簽的字體
# 為了對比,只設(shè)置橫坐標,縱坐標使用默認
plt.xlabel("xLabels",fontdict=font_options)
plt.ylabel("yLabels") 
plt.subplots_adjust(bottom=0.16)
plt.savefig("./Test.png",dpi = 720)
plt.show()

最后吐槽一句,果然圖還是要經(jīng)過精心排版,就這副草圖,從長寬比例到顏色搭配再到文字距離啥的,滿滿的無不是槽點,太難看了。

Test.png

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實現(xiàn)同時調(diào)用多個GPT的API

    Python實現(xiàn)同時調(diào)用多個GPT的API

    這篇文章主要為大家詳細介紹了Python如何實現(xiàn)同時調(diào)用多個GPT的API,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-09-09
  • 詳解Python 函數(shù)參數(shù)的拆解

    詳解Python 函數(shù)參數(shù)的拆解

    這篇文章主要介紹了Python 函數(shù)參數(shù)的拆解,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-09-09
  • Python換行與不換行的輸出實例

    Python換行與不換行的輸出實例

    這篇文章主要介紹了Python換行與不換行的輸出實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python實現(xiàn)劃詞翻譯

    python實現(xiàn)劃詞翻譯

    這篇文章主要為大家詳細介紹了python實現(xiàn)劃詞翻譯功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2012-07-07
  • python日期與時間戳的各種轉(zhuǎn)換示例

    python日期與時間戳的各種轉(zhuǎn)換示例

    這篇文章主要介紹了python日期與時間戳的各種轉(zhuǎn)換示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • Python實現(xiàn)Markdown轉(zhuǎn)Word文檔的工具詳解

    Python實現(xiàn)Markdown轉(zhuǎn)Word文檔的工具詳解

    這篇文章主要為大家詳細介紹了一個基于Python的Markdown轉(zhuǎn)Word文檔工具的實現(xiàn)方案,該工具主要使用python-docx庫,能夠?qū)arkdown文件自動轉(zhuǎn)換為排版規(guī)范的Word文檔,希望對大家有所幫助
    2026-04-04
  • Python爬蟲數(shù)據(jù)的分類及json數(shù)據(jù)使用小結(jié)

    Python爬蟲數(shù)據(jù)的分類及json數(shù)據(jù)使用小結(jié)

    這篇文章主要介紹了Python爬蟲數(shù)據(jù)的分類及json數(shù)據(jù)使用小結(jié),幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python通過計算圖片MD5值實現(xiàn)圖片去重

    Python通過計算圖片MD5值實現(xiàn)圖片去重

    這篇文章主要為大家詳細介紹了Python如何通過MD5實現(xiàn)圖片去重的3種計算方式并進行了對比,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2026-05-05
  • yolov5返回坐標的方法實例

    yolov5返回坐標的方法實例

    這篇文章主要給大家介紹了關(guān)于yolov5返回坐標的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • Python基于回溯法子集樹模板解決取物搭配問題實例

    Python基于回溯法子集樹模板解決取物搭配問題實例

    這篇文章主要介紹了Python基于回溯法子集樹模板解決取物搭配問題,簡單描述了搭配問題并結(jié)合實例形式分析了Python使用回溯法子集樹模板解決取物搭配問題的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09

最新評論

台州市| 新民市| 黔江区| 泉州市| 即墨市| 镇康县| 山丹县| 历史| 扶余县| 高青县| 南通市| 乌什县| 三都| 兴隆县| 琼结县| 泰和县| 卢龙县| 基隆市| 聂拉木县| 古蔺县| 朝阳县| 家居| 高雄县| 福清市| 改则县| 鞍山市| 新津县| 离岛区| 六盘水市| 彭泽县| 苍溪县| 苗栗县| 甘南县| 凌云县| 柳林县| 崇仁县| 永顺县| 台中县| 顺平县| 乌兰察布市| 平舆县|