【資料分析】python資料視覺化基礎操作語法彙整

更新於 發佈於 閱讀時間約 14 分鐘
raw-image

Python資料視覺化在數據分析中扮演著關鍵角色,主要功能是將複雜的數據轉換為易於理解的圖形和圖表。透過視覺化,可以迅速捕捉數據中的模式、趨勢和異常,並有效地傳達分析結果。這對於發現潛在的問題、驗證假設和支援決策非常重要。Python提供了如Matplotlib、Seaborn、Plotly、Bokeh等強大的資料視覺化工具,使得創建專業和精美的圖表變得相對簡單和高效,今天將著重在介紹Matplotlib的基礎使用。


# 可使用目錄功能快速確認要閱覽的主題



簡單折線圖

import matplotlib.pyplot as plt

# 第一組數據
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

# 第二組數據
x2 = [1, 2, 3, 4, 5]
y2 = [2, 6, 12, 18, 27]

# 繪製圖表
plt.plot(x, y,label=['第一組數據圖例'])
plt.plot(x2, y2,label=['第二組數據圖例'])

# 設定可正常顯示繁體中文的字型
plt.rc('font',family='Microsoft JhengHei')

# 添加標題和標籤
plt.title("簡單的折線圖")
plt.xlabel("X軸標籤")
plt.ylabel("Y軸標籤")

# 顯示圖例
plt.legend()

# 顯示圖表
plt.show()
raw-image


折線圖參數調整

import matplotlib.pyplot as plt

# 數據
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 設定圖形大小和分辨率
plt.figure(figsize=(10, 5), dpi=100)

# 繪製折線圖並自定義參數
plt.plot(x, y, color='b', linestyle='--', linewidth=2.0, marker='o', markersize=8, markerfacecolor='red', markeredgecolor='blue', label='數據1')

# 設定標題和標籤
plt.title('折線圖示例')
plt.xlabel('X軸')
plt.ylabel('Y軸')

# 設定刻度標籤
plt.xticks([1, 2, 3, 4, 5])
plt.yticks([2, 3, 5, 7, 11])

# 顯示網格線
plt.grid(True)

# 顯示圖例
plt.legend()

# 顯示圖形
plt.show()
raw-image


參數說明

  1. 顏色和樣式
  • color:設定折線的顏色,例如 'r'(紅色),'#00FF00'(綠色)。
  • linestyle:設定折線的樣式,例如 '-'(實線),'--'(虛線),'-.'(點劃線),':'(點線)。
  • linewidth:設定折線的寬度,例如 2.0
  1. 標記
  • marker:設定數據點的標記樣式,例如 'o'(圓點),'s'(正方形),'^'(三角形)。
  • markersize:設定標記的大小,例如 8
  • markerfacecolor:設定標記內部顏色。
  • markeredgecolor:設定標記邊緣顏色。
  1. 刻度和網格
  • plt.xticks()plt.yticks():設定刻度標籤。
  • plt.grid():顯示或隱藏網格線。
  1. 圖形大小和分辨率
  • plt.figure(figsize=(width, height), dpi=dpi):設定圖形大小和分辨率。


簡單柱狀圖

import matplotlib.pyplot as plt

# 數據
x = ['A', 'B', 'C', 'D']
y = [5, 7, 3, 4]

# 繪製柱狀圖
plt.bar(x, y)

# 添加標題和標籤
plt.title("簡單的柱狀圖")
plt.xlabel("類別")
plt.ylabel("值")

# 設定可正常顯示繁體中文的字型
plt.rc('font',family='Microsoft JhengHei')

# 顯示圖表
plt.show()
raw-image
import matplotlib.pyplot as plt

# 數據
x = [3, 4, 1]
y = [8, 5, 2]

# 繪製柱狀圖
plt.bar(x, y)

# 添加標題和標籤
plt.title("簡單的柱狀圖")
plt.xlabel("X軸")
plt.ylabel("Y軸")

# 設定可正常顯示繁體中文的字型
plt.rc('font',family='Microsoft JhengHei')

# 顯示圖表
plt.show()
raw-image

# X 如果是數值,數值本身有連續性,即使 X = [3, 4, 1,],最終顯示的排序由左至右會是[1, 3, 4]


柱狀圖參數調整

import matplotlib.pyplot as plt

# 數據
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 25]

# 設定圖形大小和分辨率
plt.figure(figsize=(10, 5), dpi=100)

# 繪製柱狀圖並自定義參數
plt.bar(categories, values, color='skyblue', edgecolor='black', linewidth=1.5, hatch='/', width=0.5, label='數據1')

# 設定標題和標籤
plt.title('柱狀圖示例')
plt.xlabel('類別')
plt.ylabel('值')

# 設定刻度標籤
plt.xticks(categories)
plt.yticks([0, 5, 10, 15, 20, 25])

# 顯示網格線
plt.grid(True)

# 顯示圖例
plt.legend()

# 顯示圖形
plt.show()
raw-image


參數說明

  1. 顏色和樣式
  • color:設定柱子的顏色,可以是一個顏色或一個顏色列表。
  • edgecolor:設定柱子邊框的顏色。
  • linewidth:設定柱子邊框的寬度。
  • hatch:設定柱子的圖案填充,例如 '/'(斜線),'\\'(反斜線),'|'(垂直線),'-'(水平線)。
  1. 柱子的寬度
  • width:設定柱子的寬度。
  1. 刻度和網格
  • plt.xticks()plt.yticks():設定刻度標籤。
  • plt.grid():顯示或隱藏網格線。
  1. 圖形大小和分辨率
  • plt.figure(figsize=(width, height), dpi=dpi):設定圖形大小和分辨率。


簡單散點圖

import matplotlib.pyplot as plt

# 第一組數據
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

# 第二組數據
x2 = [1, 2, 3, 4, 5]
y2 = [2, 6, 12, 18, 27]

# 繪製散點圖
plt.scatter(x, y, label='標籤一')
plt.scatter(x2, y2, label='標籤二')

# 添加標題和標籤
plt.title("簡單的散點圖")
plt.xlabel("X軸")
plt.ylabel("Y軸")

# 設定可正常顯示繁體中文的字型
plt.rc('font',family='Microsoft JhengHei')

# 顯示圖例
plt.legend()

# 顯示圖表
plt.show()
raw-image


散點圖參數調整

import matplotlib.pyplot as plt

# 數據
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [50, 100, 150, 200, 250]
colors = [1, 2, 3, 4, 5]

# 設定圖形大小和分辨率
plt.figure(figsize=(10, 5), dpi=100)

# 繪製散點圖並自定義參數
plt.scatter(x, y, s=sizes, c=colors, alpha=0.6, edgecolor='black', linewidth=1.5, label='數據1')

# 設定標題和標籤
plt.title('散點圖示例')
plt.xlabel('X軸')
plt.ylabel('Y軸')

# 設定刻度標籤
plt.xticks([1, 2, 3, 4, 5])
plt.yticks([2, 3, 5, 7, 11])

# 顯示網格線
plt.grid(True)

# 顯示圖例
plt.legend()

# 顯示圖形
plt.colorbar() # 顯示顏色條
plt.show()
raw-image


參數說明

  1. 顏色和樣式
  • color:設定點的顏色,可以是一個顏色或一個顏色列表。
  • c:設定點的顏色,可以使用單一顏色或一個數值序列來根據數值著色。
  • marker:設定標記樣式,例如 'o'(圓點),'s'(正方形),'^'(三角形)。
  1. 大小
  • s:設定點的大小,可以是一個數值或一個數值列表。
  1. 透明度
  • alpha:設定點的透明度,範圍從0(完全透明)到1(完全不透明)。
  1. 邊框
  • edgecolor:設定點的邊框顏色。
  • linewidth:設定點的邊框寬度。
  1. 刻度和網格
  • plt.xticks()plt.yticks():設定刻度標籤。
  • plt.grid():顯示或隱藏網格線。
  1. 圖形大小和分辨率
  • plt.figure(figsize=(width, height), dpi=dpi):設定圖形大小和分辨率。


簡單圓餅圖

import matplotlib.pyplot as plt

# 數據
labels = 'A', 'B', 'C', 'D'
sizes = [15, 30, 45, 10]

# 繪製餅圖
plt.pie(sizes, labels=labels, autopct='%1.1f%%')

# 添加標題
plt.title("簡單的餅圖")

# 設定可正常顯示繁體中文的字型
plt.rc('font',family='Microsoft JhengHei')

# 顯示圖例
plt.legend()

# 顯示圖表
plt.show()
raw-image

autopct='%1.1f%%' 的解釋

autopct 參數用來控制餅圖上顯示的自動百分比標籤。這個參數接受一個字符串格式或一個函數,用來指定如何顯示每個餅圖部分的百分比。

%1.1f:這是一個格式化字符串,用來指定浮點數的格式。

  • %:這是格式化操作的開始標誌。用來指示如何格式化後面的數值。
  • 1:這表示總共顯示至少1個字符(包括小數點和小數位)。
  • .1:這表示顯示1位小數。
  • f:這表示以浮點數格式顯示數值。

%%:這表示一個百分號。由於百分號在格式字符串中有特別的意義,所以需要用兩個百分號來表示一個實際的百分號。


圓餅圖參數調整

import matplotlib.pyplot as plt

# 數據
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']
explode = (0, 0.1, 0, 0) # 將第二塊分離出來

# 繪製圓餅圖並自定義參數
plt.figure(figsize=(8, 8))
plt.pie(sizes, labels=labels, colors=colors, explode=explode, autopct='%1.1f%%', shadow=True, startangle=90, pctdistance=0.85, wedgeprops={'edgecolor': 'black'})

# 設置標題
plt.title('圓餅圖示例')

# 顯示圖形
plt.show()
raw-image


參數說明

  1. 顏色
  • colors:設定各個部分的顏色,可以是一個顏色列表。
  1. 起始角度
  • startangle:設定第一塊的起始角度,以度數為單位。
  1. 比例顯示
  • autopct:設定每塊的比例顯示格式,例如 '%1.1f%%' 表示保留一位小數的百分比。
  1. 分離圓餅塊
  • explode:設定分離圓餅塊的距離,默認為0。如果要將某塊突出顯示,可以設置一個數值列表,其中需要分離的塊設置為大於0的值。
  1. 陰影
  • shadow:設置是否顯示陰影,取值為布林值。
  1. 圓餅比例
  • pctdistance:設定比例文字距離圓心的距離,默認為0.6。
  1. 圓形或扁平化
  • normalize:設置是否將數據標準化,使得總和為1。如果為 False,數據不會被標準化。
  1. 圓餅中心空白
  • wedgeprops:設置圓餅塊的屬性,例如邊框顏色、寬度等。


儲存圖表

# 圖片繪製完後,使用​ plt.savefig 來儲存圖片
plt.savefig('plot.png')


進階學習資源

Matplotlib - Examples


留言
avatar-img
留言分享你的想法!
avatar-img
JayRay 的沙龍
15會員
23內容數
JayRay 的沙龍的其他內容
2025/01/21
本文章提供深度學習(Deep Learning)、深度神經網絡(DNN)、卷積神經網絡(CNN)和遞歸神經網絡(RNN)的簡介,並包含它們的定義、應用場景、基本結構、工作原理、優缺點和Python範例。
Thumbnail
2025/01/21
本文章提供深度學習(Deep Learning)、深度神經網絡(DNN)、卷積神經網絡(CNN)和遞歸神經網絡(RNN)的簡介,並包含它們的定義、應用場景、基本結構、工作原理、優缺點和Python範例。
Thumbnail
2025/01/05
本篇文章提供描述性統計的完整指南,涵蓋集中趨勢、離散趨勢和數據分佈等重要概念,並附上豐富的實務應用案例與 Python 資料視覺化參考連結,協助讀者快速瞭解數據分析的基礎知識。
Thumbnail
2025/01/05
本篇文章提供描述性統計的完整指南,涵蓋集中趨勢、離散趨勢和數據分佈等重要概念,並附上豐富的實務應用案例與 Python 資料視覺化參考連結,協助讀者快速瞭解數據分析的基礎知識。
Thumbnail
2024/12/25
Naive Bayes是一種基於貝葉斯定理的機器學習分類演算法,適用於文本分類、垃圾郵件檢測及情感分析等任務。雖然假設特徵之間相互獨立,這在現實中不常成立,但其高效計算與穩定性使得在小數據集及高維度特徵空間中表現良好。
Thumbnail
2024/12/25
Naive Bayes是一種基於貝葉斯定理的機器學習分類演算法,適用於文本分類、垃圾郵件檢測及情感分析等任務。雖然假設特徵之間相互獨立,這在現實中不常成立,但其高效計算與穩定性使得在小數據集及高維度特徵空間中表現良好。
Thumbnail
看更多
你可能也想看
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
本文在介紹如何用Python繪製各點大小不同的散布圖及用箭頭標註特殊點
Thumbnail
本文在介紹如何用Python繪製各點大小不同的散布圖及用箭頭標註特殊點
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News