<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【Python】Matplotlib太臃腫,試試Seaborn

          共 4194字,需瀏覽 9分鐘

           ·

          2021-09-18 16:27

          • Matplotlib繪制一張美圖需要很多參數(shù)調(diào)整,于是就出現(xiàn)了high-level版的Seaborn,幾行代碼即可輸出美美的圖形,那么Seaborn是如何做到的?
          • Seaborn主要有兩種圖形實現(xiàn)方法Figure水平「下圖綠色格子中所有方法,如jointplot、JointGrid」、Axes水平「如stripplot、swarmplot等」,本文梳理Seaborn主要結(jié)構(gòu),助快速掌控Seaborn??
          Seaborn Overview
          ??庖丁解牛Seaborn??

          Figure水平方法

          此時,通過seaborn.axisgrid.FacetGrid對象作圖,以displot為例,

          • 單個圖
          import seaborn as sns
          import pandas as pd
          penguins = sns.load_dataset("penguins")#導入數(shù)據(jù)

          g = sns.displot(data=penguins,
                          x="flipper_length_mm",
                          hue="species",
                          multiple="stack",
                          kind="hist")#一行代碼出圖
          sns.set(style='whitegrid', font_scale=1.2)
          print(type(g))

          \<class 'seaborn.axisgrid.FacetGrid'> # 注意此處g對象類型

          • 多子圖

          Figure水平多子圖一行代碼搞定,

          sns.displot(data=penguins, x="flipper_length_mm", hue="species", col="species")
          • 矩陣圖 (pairplot)
          sns.pairplot(data=penguins, hue="species")
          • 矩陣圖 (PairGrid)

          PairGrid可使矩陣圖更加個性化,

          g = sns.PairGrid(penguins, diag_sharey=False)
          g.map_upper(sns.scatterplot)  #右上角做散點圖
          g.map_lower(sns.kdeplot)  #左下角做等高線圖
          g.map_diag(sns.histplot)  #中間做直方圖

          Axes水平方法

          此時,直接在matplotlib.axes._subplots.AxesSubplot對象上作圖,以hisplot為例,

          • 單個圖
          import seaborn as sns
          import pandas as pd
          penguins = sns.load_dataset("penguins")

          g = sns.histplot(data=penguins,
                           x="flipper_length_mm",
                           hue="species",
                           multiple="stack")
          sns.set(style='whitegrid', font_scale=1.2)
          print(type(g))

          \<class matplotlib.axes._subplots.AxesSubplot> # 注意此處g對象類型

          • 多子圖

          比較繁瑣,

          import matplotlib.pyplot as plt
          f, axs = plt.subplots(1,
                                2,
                                figsize=(8, 4),
                                gridspec_kw=dict(width_ratios=[4, 3]))
          sns.scatterplot(data=penguins,
                          x="flipper_length_mm",
                          y="bill_length_mm",
                          hue="species",
                          ax=axs[0])
          sns.histplot(data=penguins,
                       x="species",
                       hue="species",
                       shrink=.8,
                       alpha=.8,
                       legend=False,
                       ax=axs[1])
          f.tight_layout()
          • 從上面實例可知,在簡單圖形上,F(xiàn)igure方法和Axes方式結(jié)果幾乎一樣,在多子圖繪制時,F(xiàn)igure水平優(yōu)勢明顯;

          • 相比于jointplot/pairplot,JointGrid/PairGrid可以更個性化。

          • 本文簡要介紹了Seaborn的主要方法,詳細可參考歷史文章及官網(wǎng)。

          致謝:http://seaborn.pydata.org/index.html


          -END-

          往期精彩回顧




          本站qq群851320808,加入微信群請掃碼:
          瀏覽 45
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  蜜桃视频网站18 | 夜夜嗨AV一区二区三区网页 | 欧美三级国产精品 | 婷婷丁香五月在线 | 日韩福利片|