對齊了之后才舒服,matplotlib文字和字體設置

文章目錄

    • text方法
    • 字體
    • 局部字體

matplotlib教程: 初步📈 子圖繪制📈 坐標投影📈 刻度設置📈 共享坐標軸📈 內容填充

text方法

【plt】提供了文字顯示函數text,包含三個必不可少的參數,即 x , y x,y x,y表示文字的參考位置, s s s為將要寫出的字符串。此外,當涉及到較多文字時,還有一些布局參數較為常用,如下表所示

參數/簡寫取值含義
horizontalalignment/hacenter|right|left橫向對齊
verticalalignment/vacenter|top|bottom|baseline縱向對齊

其布局特性如下圖所示

在這里插入圖片描述

代碼如下

import matplotlib.pyplot as plt
from itertools import productheight = width = .8
hDict = {'left':.1, 'right':.9, 'center':.5}
vDict = {'bottom':.1, 'top':.9, 'center':.5}ax = plt.subplot()for h, v in product(hDict, vDict):posInfo = f"position:({hDict[h]},{vDict[v]})\n "alignInfo = f"alignment:{h} and {v}"ax.text(hDict[h],vDict[v], posInfo+alignInfo,ha = h, va = v, transform=ax.transAxes, wrap=True)plt.show()

其中,hDict和vDict用于設置左、中、右和上、中、下對應的繪圖坐標。在繪圖函數中,分別調用了繪圖位置以及對其對齊標志,其中wrap為True,表示接受換行。

字體

【plt】中的字體文件被封裝在【font_manager】這個子模塊中,fontManager.ttflist列表涵蓋了所有Matplotlib支持的字體。

import matplotlib.pyplot as plt
from matplotlib.font_manager import fontManager
print(fontManager.ttflist[0])   #此為字體文件
# <Font 'cmmi10' (cmmi10.ttf) normal normal 400 normal>

Font類主要有7個基本屬性:

‘fname’‘name’‘size’‘stretch’‘style’‘variant’‘weight’
存儲路徑字體名尺寸拉伸方式斜粗風格變體粗細

若想全局設置字體,可通過更改plt.rcParams來實現,例如設為等線字體

plt.rcParams['font.sans-serif'] = 'DengXian'
plt.text(0,0,'測試',fontsize=20)
plt.show()

效果為

在這里插入圖片描述

局部字體

rcParams并非坐標軸的屬性,而是當前作圖窗格的屬性,一經更改,則整個圖像都會更改。相比之下,通過plt.text中的fontproperties參數,可以更改當前字體。一般來說電腦中內置的字體文件都是數百記,很難逐一展示,所以接下來希望將前100個字體展示在一張圖中。

import numpy as np
from matplotlib.font_manager import FontProperties
x,y  = np.indices([10,10]).reshape(2,100)/10
for i in range(100):font = fontManager.ttflist[i]plt.text(x[i],y[i],f"測試:{font.name}",fontsize=10, ha='left', va='bottom',fontproperties = FontProperties(fname=font.fname))plt.show()

得到測試字體如圖所示,比較可惜的是,絕大多數字體都不支持中文,甚至有些字體連英文都不支持。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/710749.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/710749.shtml
英文地址,請注明出處:http://en.pswp.cn/news/710749.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

全量知識系統問題及SmartChat給出的答復 之7 三套工具之2

Q17. 三套工具的功能 問&#xff1a;以上代碼中并沒有體現出三套工具的功能性。 前端&#xff1a; 自動化或規則化 應用評測工具-“MOCK” &#xff08;會有三種不同的自動化程度&#xff1a;全自動化&#xff0c;半自動化和全人工&#xff09;&#xff0c;中間 &#xff1a; …

【QT+QGIS跨平臺編譯】之五十八:【QGIS_CORE跨平臺編譯】—【qgsexpression_texts.cpp生成】

文章目錄 一、Python二、生成來源三、構建過程3.1 構建qgsexpression_texts.cpp.temp3.2 構建qgsexpression_texts.cpp一、Python python.exe 是 Python 解釋器的可執行文件,用于在命令行中運行 Python 腳本。它是 Python 編程語言的解釋器程序,負責解析和執行 Python 代碼。…

第十四屆校模擬賽第一期(一)

“須知少時凌云志&#xff0c;自許人間第一流” 鄙人11月八號有幸參加學校校選拔賽&#xff0c;題型為5道填空題&#xff0c;5道編程題&#xff0c;總時間為4小時。奈何能力有限&#xff0c;只完成了5道填空和3道編程大題&#xff0c;現進行自省自糾&#xff0c;分享學習&#…

改進YOLO系列 | YOLOv5/v7 引入通用高效層聚合網絡 GELAN | YOLOv9 新模塊

今天的深度學習方法專注于如何設計最合適的目標函數,以使模型的預測結果最接近真實情況。同時,必須設計一個合適的架構,以便為預測提供足夠的信息。現有方法忽視了一個事實,即當輸入數據經過逐層特征提取和空間轉換時,會丟失大量信息。本文將深入探討數據通過深度網絡傳輸…

[AutoSar]BSW_Com06 CAN報文應用層到Can總線的函數調用

目錄 關鍵詞平臺說明一、背景二、PDU轉換三、函數調用 關鍵詞 嵌入式、C語言、autosar、OS、BSW 平臺說明 項目ValueOSautosar OSautosar廠商vector &#xff0c;芯片廠商TI 英飛凌編程語言C&#xff0c;C編譯器HighTec (GCC)autosar版本4.3.X >>>>>回到總目…

流水賬-20240229

目錄 git本地回滾到到120bc409ee3b8f63a23d0060e55118bcce557acf提交記錄本地提交到已有代碼分支 IDEA批量導入快捷鍵無效更換背景主題快捷鍵快捷鍵可以設置eclipse模式&#xff0c;但是有些不生效&#xff0c;可能是沖突了Ctrl單擊&#xff0c;Eclipse里面是可以跳轉到代碼內部…

AI:139-基于深度學習的語音指令識別與執行

??點擊這里跳轉到本專欄,可查閱專欄頂置最新的指南寶典~ ?????? 你的技術旅程將在這里啟航! 從基礎到實踐,深入學習。無論你是初學者還是經驗豐富的老手,對于本專欄案例和項目實踐都有參考學習意義。 ??? 每一個案例都附帶關鍵代碼,詳細講解供大家學習,希望…

js實現文件下載,并傳給后端

在JavaScript中&#xff0c;可以通過創建一個鏈接并設置其href屬性為文件的URL&#xff0c;然后使用download屬性指定文件的名稱來實現文件下載。以下是一個簡單的示例代碼&#xff1a; function downloadFile(url, filename) {const link document.createElement(a);link.hr…

Vue3自定義文件列表頁面(含上傳、搜索、復制鏈接)

文章目錄 一、代碼展示二、代碼解讀三、結果展示 一、代碼展示 <template><div class"container"><h1>文件列表</h1><div class"header-actions"><a-input placeholder"輸入關鍵詞搜索" v-model:value"…

字符串函數strchr()詳解

一、strchr()函數的作用 字符串函數 strchr() 是 C 語言的一個標準庫函數&#xff0c;它的作用是在一個字符串中查找給定字符的第一個匹配之處&#xff0c;并返回指向該字符的指針。如果沒有找到該字符&#xff0c;則返回 NULL。1 二、strchr()函數的原型和參數 strchr()函數…

【筆記】:更方便的將一個List中的數據傳入另一個List中,避免多重循環

這里是 simpleInfoList 集合&#xff0c;記為集合A&#xff08;傳值對象&#xff09; List<CourseSimpleInfoDTO> simpleInfoList courseClient.getSimpleInfoList(courseIds);if(simpleInfoListnull){throw new BizIllegalException("當前課程不存在!");}這…

【Spring連載】使用Spring Data----對象映射基礎Object Mapping Fundamentals

【Spring連載】使用Spring Data----對象映射基礎Object Mapping Fundamentals 一、對象創建1.1 對象創建內部機制Object creation internals 二、屬性填充Property population2.1 屬性填充內部機制Property population internals 三、一般建議3.1 覆蓋屬性 四、Kotlin支持4.1 K…

libigl 網格中點細分(網格上采樣)

文章目錄 一、簡介二、實現代碼三、實現效果參考資料一、簡介 在網格細分中,我們可以將每個三角形分成若干個更小的三角形。其中最簡單的情況就是通過計算每個三角形每條邊的中點,這樣就可以將三角形分成四個更小的三角形。不過該方法并不會使得網格的表面和面積發生變化,而…

Python:練習:編寫一個程序,寫入一個美金數量,然后顯示出如何用最少的20美元、10美元、5美元和1美元來付款

案例&#xff1a; python編寫一個程序&#xff0c;寫入一個美金數量&#xff0c;然后顯示出如何用最少的20美元、10美元、5美元和1美元來付款&#xff1a; Enter a dollar amout:93 $20 bills: 4 $10 bills: 1 $5 bills:0 $1 bills:3 思考&#xff1a; 寫入一個美金數量&…

數據分析Pandas專欄---第十一章<Pandas數據聚合與分組(1)>

前言: 數據聚合和分組操作是數據處理過程中不可或缺的一部分。它們允許我們根據特定的條件對數據進行分組&#xff0c;并對每個組進行聚合計算。這對于統計分析、匯總數據以及生成報告和可視化非常有用。無論是市場營銷數據分析、銷售業績評估還是金融數據建模&#xff0c;數據…

【數據分享】2000~2023年MOD15A2H 061 葉面積指數LAI數據集

各位同學們好&#xff0c;今天和大伙兒交流的是2000~2013年MOD15A2H 061 LAI數據集。如果大家有下載處理數據等方面的問題&#xff0c;您可以私信或評論。 Myneni, R., Y. Knyazikhin, T. Park. MODIS/Terra Leaf Area Index/FPAR 8-Day L4 Global 500m SIN Grid V061. 2021, d…

在原有項目進行業務邏輯開發:同一用戶短時間不得提交多次申請,以及更新主表時數據刷新掉了角色權限以及密碼重置的問題,詳細思路及代碼

開發背景&#xff1a; 用戶提交表單后&#xff0c;插入到對應數據庫表的字段中去&#xff0c;因需要保存是哪一個用戶提交的&#xff0c;所以需要拿到主表的user_id&#xff0c;更新功能為記錄提交時間&#xff0c;短時間不得再次提交 在對一個已有角色權限分配&#xff0c;登錄…

【Spring連載】使用Spring Data訪問 MongoDB----對象映射之對象引用

【Spring連載】使用Spring Data訪問 MongoDB----對象映射之對象引用 一、使用DBRefs 一、使用DBRefs

layui中,父頁面與子頁面,函數方法的相互調用、傳參

<%--父頁面--%> <script type"text/javascript">var KaoHaoType 0; // 考號類型 自定義參數1// 選取考號類型function SelectKaoHaoType(callBack) {KaoHaoType 0; // 默認選擇填涂考號layer.open({type: 2, title: 請選擇 考號區類型, ar…

職場中被小人欺負了,應該一笑了之嗎?還是怎么辦?

在職場中遇到不公正的待遇或被欺負&#xff0c;確實是一個讓人困擾的問題。處理這類問題&#xff0c;首先要保持冷靜和理性&#xff0c;避免情緒化的反應&#xff0c;這樣有助于找到最合適的解決方案。以下是一些建議&#xff0c;您可以根據具體情況考慮&#xff1a; 1. **保持…