seaborn繪圖風格的設置

2021-02-21 生信修煉手冊
一個好看的圖表, 圖表元素整體樣式的協調共存會讓人感覺賞心悅目,包括顏色設置,文字大小,邊框粗細等各種樣式。在seaborn中,可以通過不同的函數來修改圖表的樣式

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}

可以看到,主要是fontsize, linewidth, markersize這3種屬性。在seaborn中,內置了以下4種context

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, 這一塊的內容很多,在後面的文章中再詳細介紹。

原創不易,歡迎收藏,點讚,轉發!生信知識浩瀚如海,在生信學習的道路上,讓我們一起並肩作戰!

本公眾號深耕耘生信領域多年,具有豐富的數據分析經驗,致力於提供真正有價值的數據分析服務,擅長個性化分析,歡迎有需要的老師和同學前來諮詢。轉發本文至朋友圈,後臺私信截圖即可加入生信交流群,和小夥伴一起學習交流。

掃描下方二維碼,關注我們,解鎖更多精彩內容!

相關焦點

  • python數據可視化(一)seaborn介紹及繪圖風格設置
    seaborn整體布局及風格設置seaborn調色板及顏色設置seaborn單變量分析繪圖(直方圖、條形圖)seaborn回歸分析繪圖當然不是,seaborn提供了5種默認的風格,我們在實際繪圖中只要選擇一種喜歡的風格就可以了,下面我們就看看這5種風格的用法及效果。
  • Pandas學習筆記(十八):seaborn繪圖[1]
    在本系列的第十四篇學習筆記中,我們提到如何用seaborn來創建一個顏色板,之後,公眾號後臺收到一些留言,希望能多介紹一些有關Pandas繪圖的內容,由於seaborn是對matplotlib的一個高級擴展,而matplotlib是Jupyterlab本身支持的後臺繪圖包,因此,這一篇文章中,我們先來研究一下關於seaborn的一些基礎繪圖功能。
  • Python微課 | Seaborn——Python優雅繪圖(上)
    Matplotlib:Python基礎繪圖包(本課中輔助繪圖)本節課內容與目的:通過官方文檔(Document)裡的現成示例學習Seaborn包,熟悉Seaborn繪圖背景的調節。示例1:Anscombe’s quartet數據集學習內容:最簡易的線性回歸,以及子圖設置。
  • python繪圖之美:seaborn統計數據可視化
    它的面向數據集的繪圖函數對包含整個數據集的數據流和數組進行操作,並在內部執行必要的語義映射和統計聚合以生成信息圖。在seaborn中有幾種專門的繪圖類型,它們都經過了優化,用於可視化這類數據。了解seaborn繪圖函數之間的主要區別是很重要的。到目前為止顯示的所有圖都是使用「圖形級」功能製作的。這些是為探索性分析而優化的,因為它們設置了包含圖的matplotlib圖,並使可視化很容易跨多個軸展開。他們也處理一些棘手的事情,比如把圖例放在坐標軸之外。要做這些事情,他們使用一個FacetGrid。
  • Seaborn從零開始學習教程(一)
    seaborn的學習內容主要包含以下幾個部分:風格管理繪圖方法結構網格本次將主要介紹風格管理的使用。除了各種繪圖方式外,圖形的美觀程度可能是我們最關心的了。將它放到第一部分,因為風格設置是一些通用性的操作,對於各種繪圖方法都適用。讓我們先看一個例子。
  • python數據科學系列:seaborn入門詳細教程
    這是一個基於matplotlib進行高級封裝的可視化庫,相比之下,繪製圖表更為集成化、繪圖風格具有更高的定製性。教程目錄seaborn是python中的一個可視化庫,是對matplotlib進行二次封裝而成,既然是基於matplotlib,所以seaborn的很多圖表接口和參數設置與其很是接近。
  • Pandas學習筆記(十九):seaborn繪圖[2]
    前言在上一篇文章中,我們學習了seaborn的安裝和基本繪圖方法,這一篇中我們來繼續對seaborn的其它繪圖功能進行分析研究。
  • Python-seaborn 基礎圖表繪製-柱形圖(數據分享)
    ,這裡我們還是使用Seaborn進行繪製,再通過設置繪圖風格以及必須的美化設置進行定製化操作。這裡用到的繪圖函數為seaborn.histplot() 用於繪製統計直方圖,我們直接給出繪圖代碼,再做部分知識點解釋。
  • Seaborn可視化-統計變量間的關係seaborn.relplot
    seaborn是基於matplotlib庫的一個強大的python繪圖擴展庫,它能夠很好的補充matplotlib的不足之處,接下來的一段時間,讓我們一起學習這個強大的繪圖庫吧!
  • 掌握Seaborn的三分之一:使用relplot進行統計繪圖
    只需幾行代碼就可以創建複雜的繪圖,並且使用內置樣式仍然可以使其看起來很漂亮。其次,它與Pandas數據幀配合得非常好,這正是作為數據科學家所需要的。最後但並非最不重要的是,它構建在Matplotlib本身之上。這意味著你將享受Mpl提供的大部分靈活性,同時仍將代碼語法保持在最低限度。Seaborn將其所有API分為三類:繪製統計關係、可視化數據分布和分類數據繪圖。
  • 【Seaborn繪圖】深度強化學習實驗中的paper繪圖方法
    強化學習實驗中的繪圖技巧-使用seaborn繪製paper中的圖片,使用seaborn繪製折線圖時參數數據可以傳遞ndarray或者pandas,不同的源數據對應的其他參數也略有不同.plt.ylabel("Success Rate", fontsize=25)plt.xlabel("Iteration Number", fontsize=25)plt.title("Awesome Robot Performance", fontsize=30)plt.show()1.2 繪圖建議你的程序代碼需要使用一個額外的文件記錄結果
  • Python-seaborn 基礎圖表繪製-散點圖
    本期主要涉及的知識點如下:Python-seaborn 繪製多類別散點圖由於涉及的圖表類型為多類別散點圖的繪製,在使用常規matplotlib進行繪製時會顯得格外繁瑣,所以我們選擇了對matplotlib進行了更高級的API封裝,使作圖更加容易的seaborn包進行圖表的繪製,更多seaborn 介紹,大家可以直接去seaborn
  • Python-seaborn 經濟學人經典圖表仿製
    主要涉及的知識點如下:Python-seaborn regplot回歸線性擬合圖繪製Python-seaborn 繪製擬合線圖首先,我們預覽下數據(部分):ci :即繪製擬合曲線的置信區間,可以是(0~100)的整數,也可以設置為False,即不繪製置信區間。
  • 用Seaborn繪製圖表
    install seaborn讓我們首先導入所需的Python庫和數據集。要刪除回歸線,可以將「fitreg」參數設置為false。此外,我們可以通過設置hue參數來在Pokemon的進化階段著色。這個色調的參數是非常有用的,因為它允許你用顏色來表達第三維度的信息。
  • Seaborn的6個簡單技巧
    讓我們使用Seaborn內置的penguins數據集作為樣本數據:# 導入包import matplotlib.pyplot as pltimport seaborn as sns# 導入數據df = sns.load_dataset('penguins').rename(columns={'sex': 'gender'})df我們將使用默認圖表設置構建標準散點圖
  • Python Seaborn綜合指南,成為數據可視化專家
    當我們使用seaborn生成圖時,我將以實際的方式全面地回答這個問題。現在,讓我們快速討論一下seaborn為什麼在matplotlib之上。Seaborn使我們的圖表和繪圖看起來很吸引人,並支持一些常見的數據可視化需求(比如將顏色映射到變量或使用分面(faceting))。
  • Python可視化 | Seaborn經濟學人經典圖表仿製
    主要涉及的知識點如下:Python-seaborn regplot回歸線性擬合圖繪製Python-seaborn 繪製擬合線圖首先,我們預覽下數據(部分):其中Region_new 列則是根據相關要求更改的新列,作圖也是以次數據為基礎的。
  • 數據挖掘從入門到放棄(五)seaborn 的數據可視化
    http://seaborn.pydata.org/index.html」python數據分析的可視化庫有:matplotlib 是可視化的必備技能庫,比較底層,api很多,學起來不太容易。seaborn 是建構於matplotlib基礎上,能滿足絕大多數可視化需求。
  • 百川歸海,四類圖統攬統計圖:Seaborn|可視化系列03
    從本文的示例代碼能看到的是,seaborn大部分都只需要調用一個函數,傳參出圖不墨跡,不需要自己寫細節的數據處理代碼。這就是高層次封裝的意義。relplot默認繪製的是散點圖,設置參數kind="line"可以將點連成線,也就是繪製折線圖表示x和y的關係。
  • pandas與seaborn可視化對比小案例
    seaborn做對比,熟悉下各自繪圖的特點。導入用到的庫import pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inlineplt.style.use('fivethirtyeight')plt.style.use