首先導入庫:
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
這裏的series表示用圖形表示的單變量,dataframe表示需要用圖形表示的多變量
如果漢字顯示方格,解決方法是導入字體:
from matplotlib.font_manager import FontProperties
sns.set(font=FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14).get_name())
#以下內容轉載自:https://www.cnblogs.com/jianchiai/p/11373805.html
#Matplotlib中文問題
plt.rcParams['font.sans-serif'] = ['SimHei'] # 解決中文顯示問題-設置字體爲黑體
plt.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示爲方塊的問題
#Seaborn中文問題
plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文字體設置-黑體
plt.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示爲方塊的問題
sns.set(font='SimHei') # 解決Seaborn中文顯示問題
保存圖片:
pig = sns.distplot(x,kde=True)
fig = pig.get_figure()
fig.savefig('保存圖像.png')
目錄
1 單變量
1.1 直方圖
sns.distplot(x,kde=True)
可選參數:
kde:核密度曲線
bins :將x的取值區間等分爲bins份,然後繪製直方圖
fit:在原圖上繪製一條當前數據的統計指標
2 雙變量
2.1 散點圖
sns.jointplot(x=dataframe.x,y=dataframe.y)
可選參數:
kind=‘hex':蜂窩狀圖,通過顏色深淺表示密度
kind='kde':環形圖,通過顏色深淺表示密度
2.2 散點圖+迴歸分析
sns.regplot(x=dataframe.x,y=dataframe.y)
可選參數:
x_jitter:當有一個變量是使用ONE-HOT編碼的時候,散點圖會是多條線,這個參數可以設置散點抖動,看上去更美觀。不過這樣的圖推薦2.3
2.3 strip散點圖(適合某一變量的取值有限)
sns.stripplot(x=dataframe.x , y=dataframe.y)
可選參數:
jitter:是否需要值偏移一點,如果jitter=False,那麼繪製出來的會在一條線上
2.4 盒圖
sns.boxplot(x=dataframe.x,y=dataframe.y)
2.5 小提琴圖
sns.violinplot(x=dataframe.total_bill,y=dataframe.day)
3 多變量
3.1 單變量直方圖 + 雙變量散點圖
sns.pairplot(dataframe)
如果dataframe只有兩個變量,圖像是:
如果dataframe有多個變量,圖像是:
對角線上顯示的是每個單獨變量的直方圖,其他位置是兩兩變量的散點圖。
3.2 盒圖
sns.boxplot(x=dataframe.day,y=dataframe.total_bill,hue=dataframe.sex)
3.3 小提琴圖
sns.violinplot(x=dataframe.total_bill,y=dataframe.day,hue=dataframe.time)
第三個維度也可以並不是簡單的排列出來,而是分別展示在小提琴圖的兩邊,所以還有第二種方法:
sns.violinplot(x=dataframe.total_bill,y=dataframe.day,hue=dataframe.time,split=True)
參考
Seaborn樣例網址:https://seaborn.pydata.org/examples/index.html
Seaborn教程:https://zhuanlan.zhihu.com/p/40303932
seaborn教程 (2,繪圖功能):https://zhuanlan.zhihu.com/p/33290588
python seaborn畫圖:https://blog.csdn.net/suzyu12345/article/details/69029106