原文連接:http://web.stanford.edu/~mwaskom/software/seaborn/tutorial/aesthetics....html
管理圖表的藝術web
畫一個吸引人注意的圖表至關重要。當你探索一個數據集,須要畫圖表,圖表看起來使人愉悅是件很高興的事。在與你的觀衆交流觀點時,可視化一樣重要,同時,也頗有必要去讓圖表吸引注意力和印入腦海裏。Matplotlib自動化程度很是高,可是,掌握如何設置系統以便得到一個吸引人的圖是至關困難的事。爲了控制matplotlib圖表的外觀,Seaborn模塊自帶許多定製的主題和高級的接口。網絡
%matplotlib inline
dom
import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt np.random.seed(sum(map(ord, "aesthetics")))
讓咱們先定義一個函數用來畫正弦函數,這將幫助咱們瞭解咱們能夠控制的不一樣風格的參數函數
def sinplot(flip=1): x = np.linspace(0, 14, 100) for i in range(1, 7): plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
默認狀況下matplotlib的畫的圖是這樣的:
工具
轉換成Seaborn模塊,只須要引入seaborn模塊。spa
import seaborn as sns sinplot()
seaborn默認淺灰色背景與白色網絡線的靈感來源於matplotlib,卻比matplotlib的顏色更多柔和。咱們發現,網絡線對於傳播信息頗有用,幾乎在全部狀況下,人們喜歡圖甚於表。默認狀況下白灰網格的形式能夠避免過於刺眼。在多面做圖的狀況下,網絡形式顯得至關的有利,提供了一種做圖結構,這對模塊中的一些複雜工具很是重要。3d
seaborn將matplotlib的參數劃分爲兩個組。第一組控制圖表的樣式和圖的度量尺度元素,這樣就能夠輕易在歸入到不一樣的上下文中。code
操控這些參數由兩個函數提供接口。控制樣式,用axes_style()
和set_style()
這兩個函數。度量圖則用plotting_context()
和set_context()
這兩個函數。在這兩種狀況下,第一組函數返回一系列的參數,第二組則設置matplotlib的默認屬性。htm
圖樣式函數axes_style()
和set_style()