原文連接:https://segmentfault.com/a/1190000014915873segmentfault
seaborn
的學習內容主要包含如下幾個部分:網絡
風格管理函數
顏色風格設置
繪圖方法工具
結構網格post
本次將主要介紹顏色調控
的使用。學習
Seaborn實際上是在matplotlib的基礎上進行了更高級的API封裝,從而使得做圖更加容易,在大多數狀況下使用seaborn就能作出很具備吸引力的圖,而使用matplotlib就能製做具備更多特點的圖。應該把Seaborn視爲matplotlib的補充,而不是替代物。字體
安裝方法:spa
1 pip install seaborn
畫一個吸引人注意的圖表至關重要。當你探索一個數據集,須要畫圖表,圖表看起來使人愉悅是件很高興的事。在與你的觀衆交流觀點時,可視化一樣重要,同時,也頗有必要去讓圖表吸引注意力和印入腦海裏。Matplotlib自動化程度很是高,可是,掌握如何設置系統以便得到一個吸引人的圖是至關困難的事。爲了控制matplotlib圖表的外觀,Seaborn模塊自帶許多定製的主題和高級的接口。3d
#轉換成Seaborn模塊,只須要引入seaborn模塊。
import seaborn as sns
sns.set()#切換到seaborn默認值
sinplot()code
seaborn默認淺灰色背景與白色網絡線的靈感來源於matplotlib,卻比matplotlib的顏色更多柔和。咱們發現,網絡線對於傳播信息頗有用,幾乎在全部狀況下,人們喜歡圖甚於表。默認狀況下白灰網格的形式能夠避免過於刺眼。在多面做圖的狀況下,網絡形式顯得至關的有利,提供了一種做圖結構,這對模塊中的一些複雜工具很是重要。
Seaborn
將 matplotlib
的參數劃分爲兩個獨立的組合。第一組是設置繪圖的外觀風格的,第二組主要將繪圖的各類元素按比例縮放的,以致能夠嵌入到不一樣的背景環境中。
操控這些參數的接口主要有兩對方法:
axes_style()
, set_style()
plotting_context()
, set_context()
每對方法中的第一個方法(axes_style()
, plotting_context()
)會返回一組字典參數,而第二個方法(set_style()
, set_context()
)會設置matplotlib的默認參數。
axes_style()
and set_style()
set_style()
有五種預設的seaborn主題:暗網格(darkgrid),白網格(whitegrid),全黑(dark),全白(white),全刻度(ticks)。以適應不一樣人不一樣的愛好。
1 sns.set_style("dark") #全黑風格 2 sinplot()
sns.set_style("white") # 全白 sinplot()
1 sns.set_style("ticks") #全刻度 2 sinplot()
全白(white)和全刻度(tick)均可以從去除沒必要要的上邊框和右邊框中獲益。能夠調用seaborn函數destine()來刪除它們:
1 sinplot() 2 sns.despine()
一些圖表獲益於限制數據脊柱,這也能夠調用destine()來完成。當刻度沒有徹底覆蓋整個軸的範圍時,trim
參數能夠用來限制已有脊柱的範圍。
1 f, ax = plt.subplots() 2 sns.violinplot(data=data) 3 sns.despine(offset=10, trim=True);
你也能夠經過despine()
控制哪一個脊柱將被移除。
1 sns.set_style("whitegrid") 2 sns.boxplot(data=data, palette="deep") 3 sns.despine(left=True)
雖然來回切換風格很容易,可是你也能夠在一個with
語句中使用axes_style()
方法來臨時的設置繪圖參數。這也容許你用不一樣風格的軸來繪圖:
1 with sns.axes_style("darkgrid"): 2 plt.subplot(211) 3 sinplot() 4 plt.subplot(212) 5 sinplot(-1)
若是你想定製化seaborn
風格,你能夠將一個字典參數傳遞給axes_style()
和set_style()
的參數rc
。並且你只能經過這個方法來覆蓋風格定義中的部分參數。
若是你想要看看這些參數都是些什麼,能夠調用這個方法,且無參數,這將會返回下面的設置:
而後你能夠設置這些參數的不一樣版本了
1 sns.set_style("darkgrid", {"axes.facecolor": ".9"}) 2 sinplot()
plotting_context()
, set_context()
有一套的參數能夠控制繪圖元素的比例。
首先,讓咱們經過set()
重置默認的參數:
sns.set()
有四個預置的環境,按大小從小到大排列分別爲:paper, notebook, talk, poster。其中,notebook是默認的。
sns.set_context("paper") sinplot()
sns.set_context("talk") sinplot()
sns.set_context("poster") sinplot()
你能夠經過使用這些名字中的一個調用set_context()
來設置參數,而且你能夠經過提供一個字典參數值來覆蓋參數。當改變環境時,你也能夠獨立的去縮放字體元素的大小。
sns.set_context("notebook", font_scale=1.5, rc={"lines.linewidth": 2.5}) sinplot()
一樣的,你能夠經過嵌入with
語句臨時的控制繪圖的比例