Matplotlib定制:精解顏色、字體、線型與標記

Matplotlib定制:精解顏色、字體、線型與標記

在這里插入圖片描述

導語

Matplotlib 是 Python 數據可視化領域的基石。雖然它的默認樣式足以滿足快速分析的需求,但要創作出具有專業水準、信息清晰、視覺美觀的圖表,就必須掌握其強大的定制功能。本文將深入探討 Matplotlib 中最常用的幾個定制選項:顏色、字體、線型和標記,幫助你將圖表從“能看”提升到“好看”。


1. 🎨 玩轉顏色 (Color)

顏色是圖表中最直觀的視覺元素。Matplotlib 提供了多種靈活的方式來指定顏色。

  • 預定義顏色名稱:如 'blue', 'green', 'red' 等。
  • 縮寫:如 'b' (blue), 'g' (green), 'r' (red), 'k' (black)。
  • 十六進制字符串:如 '#FF5733',與網頁顏色表示法一致。
  • RGB/RGBA 元組:范圍在 [0, 1] 之間的浮點數值,如 (0.1, 0.2, 0.5)(0.1, 0.2, 0.5, 0.8)(包含透明度)。
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0, 10, 100)plt.plot(x, x + 0, color='blue')        # 預定義名稱
plt.plot(x, x + 1, color='g')          # 縮寫
plt.plot(x, x + 2, color='#FFC300')   # 十六進制
plt.plot(x, x + 3, color=(1.0,0.2,0.3)) # RGB元組plt.title("Matplotlib 顏色定制")
plt.show()

2. ?? 設置字體 (Font)

合適的字體能顯著提升圖表的可讀性和專業感。你可以針對標題、坐標軸標簽等單獨設置,也可以進行全局配置。

  • fontsize:設置字體大小,可以是整數或預定義字符串(如 'large', 'small')。
  • fontfamily:設置字體族,如 'serif', 'sans-serif', 'monospace'
  • fontweight:設置字體粗細,如 'bold', 'light'
x = np.linspace(0, 10, 100)
y = np.sin(x)plt.plot(x, y)# 定制標題和坐標軸標簽的字體
plt.title("字體定制示例", fontsize=16, fontweight='bold', fontfamily='SimHei')
plt.xlabel("X軸", fontsize=12, fontfamily='SimHei')
plt.ylabel("Y軸", fontsize=12, fontfamily='SimHei')# 設置刻度標簽的字體
plt.tick_params(axis='both', labelsize=10)plt.show()

?? 注意fontfamily 需要系統中存在對應字體(如 SimHei 用于顯示中文)。


3. 📈 控制線型 (Linestyle)

通過改變線條的樣式,可以輕松地區分多條數據系列。

  • linestylels:設置線條樣式。
  • linewidthlw:設置線條寬度。

常用線型:

  • '-''solid':實線(默認)
  • '--''dashed':虛線
  • ':''dotted':點線
  • '-.''dashdot':點劃線
x = np.linspace(0, 10, 100)plt.plot(x, x + 0, linestyle='-', linewidth=2, label='Solid')
plt.plot(x, x + 1, linestyle='--', linewidth=2.5, label='Dashed')
plt.plot(x, x + 2, linestyle=':', linewidth=3, label='Dotted')
plt.plot(x, x + 3, linestyle='-.', linewidth=3.5, label='Dash-dot')plt.title("Matplotlib 線型與寬度")
plt.legend()
plt.show()

Ai 產品推薦

😳 0v0 AI 助手推薦、官網:https://0v0.pro

  • 🆓 開源模型全免費:Llama、Qwen、Deepseek 等
  • 😲 基礎模型全免費:gpt-4o、o4-mini 、gpt-5-mini 等
  • ?? 對話真正無限制:不限時間、不限次數
  • 🫡 每周免費一個旗艦模型:本周免費:gpt-5 ,不限使用!


LLM AI API 推薦 🗨?

🖐? 按量計算、官網:https://llm-all.pro

  • 😊 opneai 、cluade、genimi、gork 等模型:0.5:1刀 、官方 1 折
  • 🤓 國內模型 豆包、千問 、deepseek、kimi 等:2 - 6 折
  • ?? 除了以上模型外,還包含全球各類以上未列出的模型

👺 按次計算、官網:https://fackai.chat

  • 國內外全模型
  • 1 :100次,性價比推薦


4. 📍 添加標記 (Marker)

在數據點上添加標記是突出顯示實際測量值的好方法,尤其是在離散數據或折線圖中。

  • marker:設置標記的樣式。
  • markersize:設置標記的大小。
  • markerfacecolor:設置標記的填充顏色。
  • markeredgecolor:設置標記的邊緣顏色。

常用標記:

  • 'o':圓形
  • '.':點
  • 's':正方形
  • '^':上三角形
  • '+':加號
  • '*':星形
x = np.arange(10)
y = x**2plt.plot(x, y, linestyle='--', color='blue', marker='o', markersize=8, markerfacecolor='yellow', markeredgecolor='red')plt.title("Matplotlib 標記定制")
plt.show()

總結

掌握 Matplotlib 的顏色、字體、線型和標記定制,是數據可視化從入門到精通的必經之路。這些看似簡單的參數組合起來,能夠創造出無限的可能。通過不斷實踐,你可以隨心所欲地設計出既美觀又具表現力的圖表,清晰地傳達數據背后的故事。希望本文能為你打開 Matplotlib 定制化世界的大門。

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

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

相關文章

Qt開發經驗 --- Qt監聽文件/文件夾改變(17)

文章目錄[toc]1 概述2 演示效果3 簡單使用示例4 帶界面的使用示例5 源代碼地址更多精彩內容👉內容導航 👈👉Qt開發經驗 👈1 概述 QT實現實時監控文件的創建、修改、刪除操作 跟蹤文件夾內容的增刪改變化 可用于文件發生變化時自…

數據分析:合并一

🔷 DA37:統計運動會項目報名人數(僅輸出有人報名的項目)? 題目描述給定兩個 CSV 文件:items.csv:包含項目信息(item_id, item_name, location)signup.csv:包含員工報名信…

WWW‘25一通讀 |圖Anomaly/OOD檢測相關文章(1)

寫在前面:進入新一輪學習階段,從閱讀開始。 本文分享的是WWW2025收錄的與作者研究相近的graph-based xx相關paper的閱讀筆記,含個人理解,僅供參考😄 0x01 HEI:利用不變性原理實現異配圖結構分布偏移學習 J…

static_cast:C++類型系統的“正經翻譯官”

1. 背景與核心概念 1.1 C的“類型安全”哲學 想象一下,你所在的世界突然失去了所有規則:文字可以隨意變成數字,人可以瞬間變成椅子,汽車能飛上天變成飛機… 這聽起來像是瘋狂的夢境,但對于早期C語言來說,這…

【嵌入式原理系列-第八篇】USART從原理到配置全解析

目錄 一.通信領域基礎知識介紹 1.1 串行和并行通信 1.2 同步和異步傳輸 1.3 串口和COM口 1.4 通信協議標準以及物理層定義 1.5 物理層協議之TTL / RS-232 / RS-485 二.USART介紹 2.1 USART特點介紹 2.2 UART和TTL / RS-232 / RS-485 2.3 USART硬線流控介紹 2.4 USAR…

MariaDB介紹和MariaDB包安裝

文章目錄MariaDB介紹和安裝1.MariaDB介紹1.1 起源與背景1.2 核心特性1.2.1 高度兼容 MySQL1.2.2 優化的存儲引擎1.2.3 企業級功能增強1.2.4 性能優化1.2.5 安全增強1.3 社區與生態1.4 應用場景1.5 總結2.MariaDB安裝2.1 主機初始化2.1.1 設置網卡名2.1.2 設置ip地址2.1.3 配置鏡…

雙指針與滑動窗口算法精講:從原理到高頻面試題實戰

引言:算法選擇的十字路口 在算法面試中,雙指針和滑動窗口如同兩把瑞士軍刀,能高效解決80%以上的數組和字符串問題。本文將深入解析這兩種技術的核心差異,結合力扣高頻題目,提供可直接復用的代碼。 一、算法核心思想解析…

蘋果MAC、MacBook air和pro安裝windows雙系統與iOS分發

文章目錄1. main1.1 準備工作1.2 啟動轉換助理1.3 Windows安裝1.4 蘋果電腦安裝Windows雙系統切換2. 蘋果(iOS)分發/上架2.1 上架App Store2.2 上架TestFlight2.3 webClip免簽上架2.4 超級簽名2.5 企業證書2.6 app分發系統Reference1. main 蘋果電腦安裝windows雙系統 https:…

ArcGIS定向影像(1)——非傳統影像輕量級解決方案

常常聽到這樣的需求,ArcGIS能讓用戶自己低成本的做出谷歌街景嗎?現在 _ArcGIS Pro 3.2 和 ArcGIS Enterprise 11.2 _能夠讓用戶不使用任何插件和擴展的情況下完成街景數據集的構建,數據管理,發布服務和調用的完整解決方案。非常體…

uni-app 網絡之封裝實戰HTTP請求框架

前言在uniapp開發中,網絡請求是每個應用都必不可少的功能模塊。一個優秀的網絡請求封裝不僅能提高開發效率,還能增強代碼的可維護性和可擴展性。本文將基于實際項目經驗,詳細介紹如何封裝一個高效、可維護的Uniapp網絡請求框架,并…

架構師成長之路-架構方法論

文章目錄前言一、先搞懂:架構師不僅僅是“技術大佬”,更是“問題解決者”1.1 架構師的分類:不止“開發架構師”一種1.2 架構師要關注什么?別只盯著技術1.3 架構師解決問題的4步心法:從定義到落地1.4 架構師的成長攻略&…

uniapp在微信小程序中實現 SSE 流式響應

前言 最近需要使用uniapp開發一個智能對話頁面,其中就需要使用SSE進行通信。 本文介紹下在uniapp中如何基于uni.request實現SSE流式處理。 在線體驗 #小程序:yinuosnowball SSE傳輸格式 返回輸出的流式塊: Content-Type為text/event-stream 每個流式塊均為 d…

STM32N6AI資料匯總

文章目錄前言一、STM32N6硬件資源1.1 NUCLEO-N657X0-Q1.2 STM32N6570-DK1.3 正點原子STM32N647二、STM32N6軟件資源2.1 STM32CubeN6例程資源包2.2 STM32圖像信號處理器(ISP)調優軟件2.3 正點原子N6開發板配套軟件三、AI軟件資源3.1 STM32N6 AI軟件包總結…

Flask學習筆記(一)

1、環境準備pip install Flask使用Flask開發第1個入門程序:from flask import Flask app Flask(__name__) app.route(/) def hello_world():return Hello, World!if __name__ __main__:app.run()Flask構造函數將當前模塊的名稱(__name__)作為參數。2、route函數ap…

CSP認證練習題目推薦(4)

思維、貪心、綜合 排隊打水 這道題目不算難,但是不注意還是會出現很多錯誤,比如結構體的書寫。以及自定義結構體排序。還有這里做的優化,使用前綴和記錄打水的等待時間,但是這里很容易出錯的點在于等待時間是應該是記錄的前一個…

MySQL 視圖的更新與刪除:從操作規范到風險防控

MySQL 視圖的更新與刪除:從操作規范到風險防控 視圖作為 “虛擬表”,其更新與刪除操作常常讓開發者困惑 ——“為什么更新視圖會報錯?”“刪除視圖會不會弄丟數據?” 實際上,80% 的視圖操作問題都源于對 “視圖依賴基表…

C 語言實現 I.MX6ULL 點燈(續上一篇)、SDK、deep及bsp工程管理

目錄 一、匯編點燈轉 C 語言實現 1. 關鍵字:volatile 2. 寄存器地址定義(兩種方式) (1)直接宏定義地址 (2)結構體封裝寄存器(優化訪問) 3. 核心功能代碼 &#xff…

DevOps實戰(7) - 使用Arbess+GitPuk+sourcefare實現Node.js項目自動化部署

Arbess 是一款國產開源免費的 CI/CD 工具,工具支持一鍵部署,頁面簡潔易用。本文將詳細介紹如何安裝配置使用GitPuk、sourcefare、Arbess系統,使用流水線拉取GitPuk源碼、使用sourcefare代碼掃描、構建安裝包并進行主機部署。 1、GitPuk 安裝…

算法,蒜鳥蒜鳥-P1-理解“雙指針”

歡迎來到啾啾的博客🐱。 記錄學習點滴。分享工作思考和實用技巧,偶爾也分享一些雜談💬。 有很多很多不足的地方,歡迎評論交流,感謝您的閱讀和評論😄。 目錄引言1 雙指針:Two Pointers1.1 左右指…

使用cookiecutter創建python項目

一、關于Python項目結構Python 項目并沒有完全統一的 “固定結構”,但行業內有一些廣泛遵循的約定俗成的目錄結構(尤其針對可分發的包或大型項目)。同時,確實有工具可以快速生成這些標準化結構,提高開發效率&#xff0…