1. context
主要是影響繪圖元素的樣式,比如文字和點的大小,線條寬度等,但是不會改變整體的繪圖風格。通過plotting_context函數,可以看到context所影響的具體元素
>>> sns.plotting_context()
{'font.size': 24.0, 'axes.labelsize': 24.0, 'axes.titlesize': 24.0, 'xtick.labelsize': 22.0, 'ytick.labelsize': 22.0, 'legend.fontsize': 22.0, 'axes.linewidth': 2.5, 'grid.linewidth': 2.0, 'lines.linewidth': 3.0, 'lines.markersize': 12.0, 'patch.linewidth': 2.0, 'xtick.major.width': 2.5, 'ytick.major.width': 2.5, 'xtick.minor.width': 2.0, 'ytick.minor.width': 2.0, 'xtick.major.size': 12.0, 'ytick.major.size': 12.0, 'xtick.minor.size': 8.0, 'ytick.minor.size': 8.0, 'legend.title_fontsize': 24.0}
1. notebook
2. paper
3. talk
4. poster
通過set_context函數可以設置對應的context, 用法如下
>>> sns.set_context('notebook')
不設置context的情況下,圖表樣式如下
notebook對應的圖表樣式如下
paper對應的圖表樣式如下
talk對應的圖表樣式如下
poster對應的圖表樣式如下
2. style
這裡的style和matplotlib中的style相同,涵蓋了更多圖形元素的樣式。seaborn中內置的style有以下幾種
1. darkgrid
2. whitegrid
3. dark
4. white
5. ticks
通過axes_style函數可以查看style對應的元素屬性,用法如下
>>> sns. axes_style("white")
{'figure.facecolor': 'white', 'axes.labelcolor': '.15', 'xtick.direction': 'out', 'ytick.direction': 'out', 'xtick.color': '.15', 'ytick.color': '.15', 'axes.axisbelow': True, 'grid.linestyle': '-', 'text.color': '.15', 'font.family': ['sans-serif'], 'font.sans-serif': ['Arial', 'DejaVu Sans', 'Liberation Sans', 'Bitstream Vera Sans', 'sans-serif'], 'lines.solid_capstyle': 'round', 'patch.edgecolor': 'w', 'patch.force_edgecolor': True, 'image.cmap': 'rocket', 'xtick.top': False, 'ytick.right': False, 'axes.grid': False, 'axes.facecolor': 'white', 'axes.edgecolor': '.15', 'grid.color': '.8', 'axes.spines.left': True, 'axes.spines.bottom': True, 'axes.spines.right': True, 'axes.spines.top': True, 'xtick.bottom': False, 'ytick.left': False}
也支持臨時設置對應的style值,用法如下
>>> with sns.axes_style('white'):
... sns.scatterplot(data=df, x='total_bill', y='tip')
...
<matplotlib.axes._subplots.AxesSubplot object at 0x0F424AF0>
>>> plt.show()
darkgrid對應的圖表樣式如下
whitegrid對應的圖表樣式如下
white對應的圖表樣式如下
dark對應的圖表樣式如下
ticks對應的圖表樣式如下
如果你需要修改style屬性中的部分值,可以通過set_style函數來實現,用法如下
>>> sns.set_style('white', rc={'figure.facecolor':'black'})
3. theme
theme用於一次性設置context, style, palette等屬性,具體的,有以下兩種函數
# set_theme
>>> sns.set_theme(context='notebook', style='darkgrid', palette='deep', font='sans-serif')
# set
>>> sns.set(context='notebook', style='darkgrid', palette='deep', font='sans-serif')
set是set_theme的別名,通過context, style可以快速的確定繪圖風格,當然繪圖風格中還有非常重要的一個組成部分,顏色梯度palette, 這一塊的內容很多,在後面的文章中再詳細介紹。
原創不易,歡迎收藏,點讚,轉發!生信知識浩瀚如海,在生信學習的道路上,讓我們一起並肩作戰!
本公眾號深耕耘生信領域多年,具有豐富的數據分析經驗,致力於提供真正有價值的數據分析服務,擅長個性化分析,歡迎有需要的老師和同學前來諮詢。轉發本文至朋友圈,後臺私信截圖即可加入生信交流群,和小夥伴一起學習交流。掃描下方二維碼,關注我們,解鎖更多精彩內容!