Matplotlib:繪制你的第一張折線圖與散點圖

Matplotlib入門:繪制你的第一張折線圖與散點圖

在這里插入圖片描述

導語

歡迎來到 Matplotlib 的世界!對于任何使用 Python 進行數據分析或機器學習的人來說,數據可視化都是一項至關重要的技能。Matplotlib 是 Python 中最流行、最基礎的可視化庫,它功能強大,可以創建各種靜態、動態、交互式的圖表。

本教程專為初學者設計,將帶你從零開始,一步步學習如何使用 Matplotlib 繪制兩種最常用的圖表:折線圖散點圖。學完本篇,你將能夠輕松地將數據轉化為直觀的圖形。


? 準備工作:安裝 Matplotlib

在開始之前,請確保你已經安裝了 Matplotlib。如果尚未安裝,可以通過 pip 命令輕松安裝:

pip install matplotlib numpy

我們同時安裝 numpy,因為它是處理數值數據的常用庫,與 Matplotlib 配合使用效果更佳。


一、繪制你的第一張折線圖

折線圖(Line Chart)是用于顯示數據隨某個連續變量(如時間、順序)變化趨勢的理想選擇。

1. 創建簡單數據

首先,我們使用 numpy 創建一組簡單的數據作為示例。

import matplotlib.pyplot as plt
import numpy as np# 創建 x 軸數據 (0, 1, 2, ..., 9)
x = np.arange(10)
# 創建 y 軸數據 (x 的平方)
y = x**2print("X軸數據:", x)
print("Y軸數據:", y)

2. 繪制基本折線圖

有了數據后,只需幾行代碼即可繪制一張折線圖。

import matplotlib.pyplot as plt
import numpy as np# 1. 準備數據
x = np.arange(10)
y = x**2# 2. 創建圖表
plt.figure(figsize=(8, 6))  # 設置畫布大小
plt.plot(x, y)              # 繪制折線圖# 3. 添加圖表信息
plt.title("我的第一張折線圖 (My First Line Chart)") # 標題
plt.xlabel("X 軸")        # X軸標簽
plt.ylabel("Y 軸")        # Y軸標簽# 4. 顯示圖表
plt.show()

運行以上代碼,你將看到如下所示的圖表:

3. 自定義你的折線圖

Matplotlib 提供了豐富的自定義選項,讓你的圖表更具表現力。

  • 顏色(color):設置線條顏色。
  • 線型(linestyle):可以是實線 -、虛線 --、點線 : 等。
  • 標記(marker):在數據點上添加標記,如圓形 o、方形 s、星形 *
# ... 接上文代碼 ...# 繪制自定義折線圖
plt.figure(figsize=(8, 6))
plt.plot(x, y,color='red',          # 顏色linestyle='--',       # 線型marker='o',           # 標記label="y = x^2"       # 圖例標簽
)# 添加網格和圖例
plt.grid(True)              # 顯示網格
plt.legend()                # 顯示圖例plt.title("自定義折線圖")
plt.xlabel("X 軸")
plt.ylabel("Y 軸")plt.show()

二、繪制你的第一張散點圖

散點圖(Scatter Plot)主要用于觀察兩個變量之間的關系或分布情況。

1. 創建兩組相關數據

我們創建兩組數據,一組是隨機的,另一組與第一組有一定的線性關系。

# 創建 50 個隨機數據點
np.random.seed(42) # 設置隨機種子以保證結果可復現
x_scatter = np.random.rand(50) * 10
y_scatter = 2 * x_scatter + np.random.randn(50) * 2 # y = 2x + 噪聲

2. 繪制基本散點圖

使用 plt.scatter() 函數來繪制散點圖。

# ... 接上文代碼 ...# 繪制基本散點圖
plt.figure(figsize=(8, 6))
plt.scatter(x_scatter, y_scatter)plt.title("我的第一張散點圖 (My First Scatter Plot)")
plt.xlabel("變量 X")
plt.ylabel("變量 Y")
plt.grid(True)plt.show()

3. 自定義你的散點圖

散點圖同樣可以自定義,例如改變點的大小、顏色,甚至可以根據第三個變量來映射顏色。

  • 大小(s):設置點的大小。
  • 顏色(c):可以是一個顏色字符串,也可以是一個數值序列,用于顏色映射。
  • 透明度(alpha):設置點的透明度。
# ... 接上文代碼 ...# 創建一個顏色變量
colors = np.random.rand(50)
# 創建一個大小變量
sizes = 1000 * np.random.rand(50)# 繪制自定義散點圖
plt.figure(figsize=(10, 6))
scatter = plt.scatter(x_scatter, y_scatter,c=colors,           # 根據 colors 變量映射顏色s=sizes,            # 根據 sizes 變量設置大小alpha=0.6,          # 設置透明度cmap='viridis'      # 使用 viridis 顏色映射方案
)# 添加顏色條
plt.colorbar(scatter, label="顏色強度")plt.title("自定義散點圖")
plt.xlabel("變量 X")
plt.ylabel("變量 Y")plt.show()

🤖 AI 助力你的編程之路

在學習和工作中,強大的 AI 工具能極大地提升我們的效率。這里向你推薦一款優秀的 AI 助手,或許能為你的編程和創作帶來新的靈感。

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

  • 🆓 開源模型全免費:Llama、Qwen、Deepseek 等,無需付費即可體驗。
  • 😲 基礎模型全免費:gpt-4o、o4-mini、gpt-5-mini 等,滿足日常開發需求。
  • ?? 對話真正無限制:不限時間、不限次數,盡情探索 AI 的能力。
  • 🫡 每周免費旗艦模型:每周解鎖一款旗艦模型(如本周的 gpt-5),免費使用!

🗨? 需要接入 AI API?

如果你是開發者,希望將 AI 能力集成到自己的應用中,可以考慮以下服務:

按量計算、官網:https://llm-all.pro
  • 😊 超高性價比:OpenAI、Claude、Gemini 等模型低至官方 1 折。
  • 🤓 國內模型覆蓋廣:豆包、千問、DeepSeek、Kimi 等 2-6 折。
  • ?? 模型種類齊全,滿足各類需求。
按次計算、官網:https://fackai.chat
  • 全模型覆蓋,1 元可購 100 次,性價比極高。

總結

恭喜你!通過本教程,你已經掌握了使用 Matplotlib 繪制折線圖和散點圖的基本方法,并學會了如何對它們進行自定義,以更好地展示你的數據。

回顧一下關鍵點:

  1. 導入庫import matplotlib.pyplot as plt
  2. 折線圖:使用 plt.plot(),適合展示趨勢。
  3. 散點圖:使用 plt.scatter(),適合觀察變量關系。
  4. 圖表元素plt.title(), plt.xlabel(), plt.ylabel(), plt.legend(), plt.grid()
  5. 顯示圖表:最后一定要調用 plt.show()

這只是 Matplotlib 功能的冰山一角。繼續探索,你將能創造出更多更復雜的圖表。希望這篇教程能為你打開數據可視化的大門!

如果你覺得這篇文章對你有幫助,請不要吝嗇你的 點贊 👍收藏 ?!你的支持是我創作的最大動力!

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

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

相關文章

MySQL保姆級安裝教程

MySQL 安裝詳細文檔,適用于 Windows、macOS 和 Linux 系統,包含了從下載到驗證安裝的完整步驟: 一、Windows 系統安裝 MySQL 1. 下載 MySQL 安裝包 訪問 MySQL 官方下載頁:https://dev.mysql.com/downloads/installer/選擇 “MySQ…

重塑你的大腦:從理解突觸到掌控人生

重塑你的大腦:從理解突觸到掌控人生你是否曾對自己的某些行為感到無力?明知應該早睡,卻總忍不住刷手機;下定決心要鍛煉,卻常常半途而廢。這些困擾我們的習慣,并非簡單的意志力問題,其根源深深植…

《C++進階之STL》【哈希表】

【哈希表】目錄前言------------概念介紹------------1. 什么是哈希?------------核心術語------------一、哈希函數1. 哈希函數的核心特點是什么?2. 哈希函數的設計目標是什么?3. 常見的哈希函數有哪些?直接定址法除法散列法乘法…

機器學習-模型驗證

驗證泛化誤差 在一個數據集上估計誤差,數據集只能使用一次驗證數據集:可以被使用多次 基本是訓練數據集中的一部分 當使用“test”時,大多數時候指的是驗證數據集 生成驗證數據集方法 1、數據隨機分入訓練集或驗證集 總是隨機選n%的數據作為驗…

Qt中自定義控件的三種實現方式

Qt中自定義控件的三種實現方式 在 Qt 應用開發中,標準控件往往無法滿足所有需求。自定義控件允許開發者創建具有特定功能和外觀的控件,提高代碼復用性和界面一致性。Qt 提供了多種方式來開發自定義控件,從簡單的組合現有控件到完全自定義繪制…

少兒舞蹈小程序(14)在線預約

目錄1 創建數據模型2 搭建預約按鈕3 搭建表單4 搭建管理功能整體效果總結目前我們的首頁已經開發完畢了,包含輪播圖、機構介紹、校區展示、作品與活動展示功能。家長在小程序了解了機構的基本情況之后,下一步就是參加試聽,在線下真實體驗一下…

TDengine 數據寫入詳細用戶手冊

TDengine 數據寫入用戶手冊 概述 TDengine 提供了多種靈活的數據寫入方式,以滿足不同應用場景的需求。本手冊將以智能電表場景為例,向初學者詳細介紹各種數據寫入方法的使用。 智能電表場景設定 假設我們需要為智能電表系統建立數據庫: …

PTA 天梯賽 7-43:字符串關鍵字的散列映射

【題目來源】 https://pintia.cn/problem-sets/15/exam/problems/type/7?problemSetProblemId890 【題目描述】 給定一系列由大寫英文字母組成的字符串關鍵字和素數 P,用移位法定義的散列函數 H(Key) 將關鍵字 Key 中的最后 3 個字符映射為整數,每個字…

Python核心技術開發指南(065)——with語句

版權聲明 本文原創作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl with語句定義 with語句是Python中用于簡化資源管理的語法結構,通過上下文管理器(實現__enter__()和__exit__()方法的對象)確保資源在使用完畢后被正確釋放,無論代碼塊是否發生異常。其核心作…

從基礎到高級:一文快速認識MySQL UPDATE 語句

在數據庫日常運維與開發中,數據更新是與數據查詢同等重要的核心操作。MySQL 的 UPDATE 語句憑借其靈活的語法結構和強大的功能,能夠滿足從簡單字段修改到復雜關聯表更新的各類需求。然而,若使用不當,不僅可能導致數據一致性問題&a…

材料基因組計劃(MGI)入門:高通量計算與數據管理最佳實踐

點擊 “AladdinEdu,同學們用得起的【H卡】算力平臺”,注冊即送-H卡級別算力,80G大顯存,按量計費,靈活彈性,頂級配置,學生更享專屬優惠。 摘要 材料基因組計劃(Materials Genome Ini…

Vision Transformer (ViT) :Transformer在computer vision領域的應用(一)

在圖像領域,CNN卷積神經網絡結構已經成為了標配,所有的模型都是基于CNN來構造的。 而在NLP領域,自從Transformer橫空出世之后,基本上也統治了NLP的各個領域。 基于Transformer的強大,一些論文的工作都是將Transformer也應用到CV領域,在這篇論文:AN IMAGE IS WORTH 16X1…

自動駕駛中的傳感器技術45——Radar(6)

本文詳細介紹4D雷達相關解決方案,4D雷達關鍵詞:4D Imaging Radar 1、4D雷達特點 圖1 4D雷達 vs 3D雷達圖2 4D雷達虛擬通道數量不斷增加圖3 4D雷達 vs 3D雷達 vs 攝像頭和激光雷達圖4 毫米波雷達在不同駕駛等級下的應用需求Ref:https://pdf.d…

瀏覽器調試工具詳解

個人簡介 👀個人主頁: 前端雜貨鋪 🙋?♂?學習方向: 主攻前端方向,正逐漸往全干發展 📃個人狀態: 研發工程師,現效力于中國工業軟件事業 🚀人生格言: 積跬步…

代碼審計-PHP專題原生開發SQL注入1day分析構造正則搜索語句執行監控功能定位

挖掘技巧: -語句監控-數據庫SQL監控排查可利用語句定向分析 -功能追蹤-功能點文件SQL執行代碼函數調用鏈追蹤 -正則搜索-(update|select|insert|delete|).*?where.* 如何快速的在多個文件代碼里面找脆弱: 1、看文件路徑 2、看代碼里面的變量&#…

Linux中:調試器gdb/cgdb的使用

引言在追尋光的路上不斷前行,詳細介紹Linux下gdb/cgdb的使用。一、準備? 程序的發布方式有兩種,默認是 debug 模式和 release 模式。Linux gcc/g編譯出來的二進制程序默認是release模式? 要使用gdb調試,必須在源代碼生成?進制程序的時候加…

【算法】【鏈表】148.排序鏈表--通俗講解

算法通俗講解推薦閱讀 【算法–鏈表】83.刪除排序鏈表中的重復元素–通俗講解 【算法–鏈表】刪除排序鏈表中的重復元素 II–通俗講解 【算法–鏈表】86.分割鏈表–通俗講解 【算法】92.翻轉鏈表Ⅱ–通俗講解 【算法–鏈表】109.有序鏈表轉換二叉搜索樹–通俗講解 【算法–鏈表…

計算機組成原理:存儲系統概述

📌目錄💾 存儲系統概述:計算機的“記憶中樞”🏗? 一、存儲系統的層次結構:速度與容量的“黃金平衡”(一)經典存儲層次金字塔(二)層次結構的設計原則(三&…

基于CNN/CRNN的漢字手寫體識別:從圖像到文字的智能解碼

在人工智能浪潮的推動下, handwriting recognition(手寫識別)技術已成為連接傳統書寫與數字世界的重要橋梁。其中,漢字手寫體識別因其字符集的龐大和結構的復雜性,被視為模式識別領域最具挑戰性的任務之一。近年來&…

【無人機】無人機用戶體驗測試策略詳細介紹

一、 道:核心測試理念與目標核心理念: 用戶體驗測試的核心不是尋找功能Bug,而是評估用戶在與無人機系統(包括飛行器、遙控器、APP)交互全過程中的主觀感受、操作效率、情感變化和達成目標的難易度。我們的目標是讓科技…