【資料分析】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


3會員
19內容數
留言0
查看全部
發表第一個留言支持創作者!
JayRay 的沙龍 的其他內容
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
ITS python認證內容含蓋六大主題
Thumbnail
本篇文章分享從製作數據分析報告到PPT簡報技巧,內容包括數據分析報告的構成要素、主體的清晰邏輯設定,以及製作精準PPT簡報的方法。提供從製作報告的過程到提升製作效率的建議,適合初入職場的數據分析新人們參考喔~
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
ITS python認證內容含蓋六大主題
Thumbnail
本篇文章分享從製作數據分析報告到PPT簡報技巧,內容包括數據分析報告的構成要素、主體的清晰邏輯設定,以及製作精準PPT簡報的方法。提供從製作報告的過程到提升製作效率的建議,適合初入職場的數據分析新人們參考喔~