Python 資料視覺化筆記(一 ) - 使用Pandas繪圖

Pandas

先備知識

Pandas有以下類型的圖可以繪製
折線圖df.plot()
柱狀圖df.plot(kind='bar')
橫向柱狀圖df.plot(kind='barh')
直方圖df.plot(kind='hist')
KDE圖df.plot(kind='kde')
面積圖df.plot(kind='area')
圓餅圖df.plot(kind='pie')
散佈圖df.plot(kind='scatter')
六角形箱體圖df.plot(kind='hexbin')
箱形圖df.plot(kind='box')

初始化

import seaborn as sns
import pandas as pd
%matplotlib inline
pd.set_option("display.max_rows", 1000) #設定最大能顯示1000rows
pd.set_option("display.max_columns", 1000) #設定最大能顯示1000columns

解決plot不能顯示中文問題

from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']
mpl.rcParams['axes.unicode_minus'] = False

讀取檔案

df=pd.read_excel('C:/Users/Yanwei/Desktop/AQI.xlsx') #讀取xlsx檔案

繪圖

折線圖
df.plot(x='監測日期', y='PM25',title='監測日期與PM2.5的關係')
柱狀圖
df.plot(kind='bar',x='監測日期', y='PM25',title='監測日期與PM2.5的關係')
橫向柱狀圖
df.plot(kind='barh',x='監測日期', y='PM25',title='監測日期與PM2.5的關係')
直方圖
df.plot(kind='hist',x='監測日期', y='PM25',title='監測日期與PM2.5的關係')
核密度(KDE)圖
df.plot(kind='kde',x='監測日期', y='PM25',title='監測日期與PM2.5的關係')
面積圖
df.plot(kind='area',x='監測日期', y='PM25',title='監測日期與PM2.5的關係')
圓餅圖
df.plot(kind='pie',x='監測日期', y='PM25',title='監測日期與PM2.5的關係',autopct = '%1.2f%%')
散佈圖
df.plot(kind='scatter',x='PM25', y='PM10',title='PM2.5與PM10的關係') #X,Y需為數值
六角形箱體圖
df.plot(kind='hexbin',x='PM25', y='PM10',title='PM2.5與PM10的關係') #X,Y需為數值
箱形圖
df.plot(kind='box',x='PM25', y='PM10',title='監測日期與PM2.5的關係') #X,Y需為數值

設定圖片尺寸 figsize

df.plot(kind='bar',x='PM25',y='PM10',figsize=(6,8))

設定主題風格

df.plot(x,y,'g--')                            #綠色直線
df.plot(x,y,linestyle='--',color='g') #綠色直線
df.set_xticks #在X軸上特定位置放上刻度
df.set_xticklabels #刻度的文字名稱
df.set_xlabel #設定X軸名稱
df.set_title #設定圖名

存檔

image = df.plot()
fig = image.get_figure() #取得圖片
fig.savefig('figure.png') #保存成png
fig.savefig('figure.pdf') #保存成pdf

Written by

Machine Learning / Deep Learning / Python / Flutter

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store