首頁 > 軟體

Python matplotlib資料視覺化圖繪製

2022-07-27 18:02:16

前言

匯入繪相簿:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import os

讀取資料(資料來源是一個EXCLE表格,這裡演示的是如何將資料視覺化出來)

os.chdir(r'E:jupyter資料探勘資料與程式碼')
df = pd.read_csv('air_data.csv',na_values= '--') 

1.折線圖

  • plt.plot(x,y,ls=,lw=,c=,marker=,markersize=,markeredgecolor=,markerfacecolor, label=)
  • x: x軸上的數值
  • y: y軸上的數值
  • ls- -函數線條風格(=‘-’ 實線, ‘–’ 虛線 ,‘-.’ 點劃線 ,‘:’ 實點線)
  • lw: 線條寬度
  • c: 顏色
  • marker: 線條上點的形狀, 常用為’o’,即圓點形狀
  • markersize: 線條上點的形狀
  • markeredgecolor: 點的邊框色
  • markerfacecolor: 點的填充色
# 繪製觀察視窗內的飛行次數和觀測視窗內的總飛行里程數
# 支援中文顯示
plt.rcParams['font.sans-serif']=['SimHei']# 字型
plt.rcParams['axes.unicode_minus']=False
x=np.linspace(0,10,100)
y=np.sin(x)
plt.plot(x,y,ls='-',lw=2,marker='o',markersize=5,c='red',markeredgecolor='black',markerfacecolor='lightskyblue')
plt.show()

2.直方圖

  • hist:資料
  • bins:組距
  • color:填充色
  • edgecolor:邊框色
  • density:是否繪製成概率密度形式
  • xlabel:橫座標
  • ylabel:縱座標
  • labelpad/pad:離座標軸的距離
# 繪製年齡的分佈情況
plt.hist(x=df['AGE'],bins=30,color='r',edgecolor='black',density=True) # density=True 代表是否繪製概率密度形式
plt.xlabel('客戶年齡',fontsize=15,labelpad=20)
plt.ylabel('頻數',fontsize=15,labelpad=20)
plt.title('年齡分佈圖',fontsize=15,pad=20)
plt.show()

3.箱線圖

  • plt.boxplot(x,notch,sym,vert,whis,position,widths,patch_artist,meanline,showmeans, boxprops,labels,flierprops)
  • x: 資料
  • 寬度:寬度
  • patch_artist: 是否填充箱體顏色
  • meanline:是否顯示均值
  • showmeans: 是否顯示均值
  • meanprops;設定均值屬性,如點的大小,顏色等
  • medianprops:設定中位數的屬性,如線的型別,大小等
  • showfliers: 是否表示有異常值
  • boxprops:設定箱體的屬性,邊框色和填充色
  • cappops: 設定箱線頂端和末端線條的屬性,如顏色,粗細等
age=df[df['AGE'].notnull()]['AGE'] # 剔除年齡的空值
plt.boxplot(x=age,patch_artist=True,boxprops={'color':'red'})
plt.show()

4.柱狀圖

# 將字元型資料轉換date格式
df['FFP_DATE']=pd.to_datetime(df['FFP_DATE'],format='%Y/%m/%d',errors='coerce') # errors 避免報錯
data=df['FFP_DATE'].dt.year.value_counts()
x_data=data.index
y_data=data.values
plt.bar(x=x_data,height=y_data,align='center',color='y',tick_label=x_data)
plt.title('不同年份的會員數量',pad=5)
plt.show()

5.餅圖

autopct:設定百分比的格式

data=df['GENDER'].value_counts()
# 繪製餅圖
plt.pie(x=data.values,labels=data.index,colors=['lightskyblue','lightcoral'],autopct='%.1f%%')
plt.show()

6.散點圖

# 飛行次數與總飛行公里數的關係
plt.scatter(x=df['FLIGHT_COUNT'],y=df['SEG_KM_SUM'],color='steelblue',marker='o',s=100)
plt.title('飛行次數與總飛行公里數的關係')
plt.show()

到此這篇關於Python matplotlib資料視覺化圖繪製的文章就介紹到這了,更多相關Python matplotlib 圖繪製內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com