1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        使用patchworklib庫進(jìn)行多圖排版

        共 2442字,需瀏覽 5分鐘

         ·

        2024-04-10 17:53

        點擊上方快速關(guān)注并設(shè)置為星標(biāo),一起學(xué)Python)

        來源:大鄧和他的Python


        一、問題

        如果想把多個圖合并放在一個圖里,如圖,該如何實現(xiàn)

        68b95061c88baceb2250a5fb77167bff.webp

        好在R語言 和 Python 都有對應(yīng)的解決方案, 分別是patchwork包和patchworklib庫。



        二、R語言

        安裝

              
              # install.packages("devtools")
        devtools::install_github("thomasp85/patchwork")

        兩個圖并排在一行,只需要導(dǎo)入patchwork, 然后相加即可

              
              library(ggplot2)
        library(patchwork)

        p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp))
        p2 <- ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear))

        p1 + p2

        0d18180cdd6986ca63663078b390fefd.webp


        兩行,第一行三個圖,第二行一個圖

              
              p3 <- ggplot(mtcars) + geom_smooth(aes(disp, qsec))
        p4 <- ggplot(mtcars) + geom_bar(aes(carb))

        (p1 | p2 | p3) /
              p4

        07619f38bcfa428b06598d578624f27b.webp


        三、Python

        Patchworklib 是與 matplotlib 相關(guān)的繪圖(簡單 matplotlib 繪圖、Seaborn 繪圖(軸級和圖形級)和plotnine 繪圖)的通用編輯器。這個庫的靈感來自于 ggplot2 的patchwork。因此,作為原始拼湊,用戶可以輕松地僅使用 /| 對齊 matplotlib 圖。

        Patchworklib 提供了該問題的解決方案。通過使用 patchworklib,任何類型的seaborn 和plotnine 圖都可以作為matplotlib 子圖進(jìn)行處理。安裝

              
              pip3 install patchworklib

              
              import patchworklib as pw
        import seaborn as sns 

        fmri = sns.load_dataset("fmri")
        ax1 = pw.Brick(figsize=(3,2))
        sns.lineplot(x="timepoint", y="signal", hue="region", style="event", data=fmri, ax=ax1)
        ax1.legend(bbox_to_anchor=(1.051.0), loc='upper left')
        ax1.set_title("ax1")
         
        titanic = sns.load_dataset("titanic")
        ax2 = pw.Brick(figsize=(1,2))
        sns.barplot(x="sex", y="survived", hue="class", data=titanic, ax=ax2)
        ax2.move_legend(new_loc='upper left', bbox_to_anchor=(1.051.0))
        ax2.set_title("ax2")

        ax12 = ax1|ax2
        ax12.savefig("ax12.png")

        7468bb5a7033b9250a04847a37cde989.webp


              
              #省略 ax1、ax2、ax4繪制過程

        ax124 = ax1|ax2|ax4
        ax124.savefig("../img/ax124.png")

        91e61b3d38c3dacb87c8ffb4d14c4cfe.webp


              
              #省略 ax124、ax3、ax5繪制過程
        ax12435 = ax124/(ax3|ax5)
        ax12435.savefig("../img/ax12435.png")

        68b95061c88baceb2250a5fb77167bff.webp

            
                

        40c13be63097dd1f1f9f589ec9be757e.webp


                  
                    

        推薦小碼哥新書!

        小碼哥新手 《Python + Excel/Word/PPT一本通》 正式上市了!書中詳細(xì)介紹了零基礎(chǔ)用Python實現(xiàn)辦公自動化的各方面知識, 提高職場辦公效率,附贈PPT/源代碼/重點教學(xué)視頻講解和作者VIP一對一指導(dǎo)。


        內(nèi) 容介紹 《Python + Excel/Word/PPT 一本通》內(nèi)容介紹


        99f864477120524a497b20e877b163bd.webp


        掃碼購買



        ▼點擊閱讀原文,了解本書詳情

        瀏覽 32
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            操逼一级片 | 国产 码在线成人网站 | 欧美三级手机在线 | 最好看的日本字幕MV | 乳尖嗯啊奴婢假山h | 北条麻妃在线视频 | 欧美成人三级在线观看 | 国产精品第108页 | 亚洲色婷婷六月亚洲婷婷6月 | 国产一级婬乱片A片片A片盲井 |