<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      如何在 Python 中使用 ggplot2?

      本文章原文托管在語雀,作者是史提芬先森。更多精彩與更新內容,參考原文:https://www.yuque.com/shenweiyan/cookbook/how-to-use-ggplot2-in-python

      簡介

      由于嚴格執行圖形語法,ggplot2 提供了一種極其直觀且一致的數據繪制方式。 ggplot2 的繪圖方法不僅確保每個繪圖都包含某些基本元素,而且在很大程度上簡化了代碼的可讀性。
      ?
      但是,如果您是 Python 的頻繁使用用戶,那么由于 matplotlib 或 seaborn 等流行繪圖庫中缺乏標準化語法,因此實現圖形語法可能會非常具有挑戰性。 如果您仍想使用圖形語法,那么 Python 包 plotnine 為您提供了另一種選擇。
      ?

      ?

      圖形語法

      如果您不熟悉圖形的語法,這里有一個快速概述:

      圖形語法(Grammar of Graphics)的主要組成部分

      如您所見,從您的數據開始,有幾個組件構成了圖形的語法。在確定要可視化的數據后,您必須指定您感興趣的變量。例如,您可能希望在 x 軸上顯示一個變量,在 y 軸上顯示另一個變量。第三,你必須定義你想使用什么類型的幾何對象(geometric object,簡稱 geom)。這可以是從條形圖到散點圖或任何其他現有繪圖類型的任何東西。
      ?

      所有的組件中,前三個組件是強制性的。沒有數據,就沒有什么可繪制的。沒有軸定義,也沒有什么可以繪制的。最后,如果不定義幾何對象,您只會看到一個空坐標系。構成圖形語法的其余組件是可選的,可以它們的實現以改進可視化。分面(facet) 指的是子圖(subplots)的規范,也就是說,在單獨的圖中,將數據中的幾個變量挨個繪制出來。統計轉換主要是指在繪圖中包含匯總統計信息,例如中位數或百分位數。坐標描述了可供您使用的不同坐標系。最常用和默認的坐標系是笛卡爾坐標系。根據您要繪制的數據結構,較少使用的坐標系(例如極坐標系)可能會提供更好的數據可視化方式。最后,主題提供了多種選項來設計繪圖的所有非數據元素,例如圖例、背景或注釋。
      ?

      雖然有許多可視化圖形語法的方法,但我特別喜歡我在上面創建的那個,因為它暗示了這些層的可加性以及它們相互構建的事實。如果您曾經使用過 ggplot2,那么您就會熟悉其語法中的“+”,它象征著上述相同的想法。

      plotnine

      plotnine 是一個 Python 包,允許您使用實現圖形語法的類似 ggplot2 的代碼。 通過這樣做,就像在 ggplot2 中一樣,您可以將數據專門映射到構成可視化的可視對象。 這使您能夠提高代碼的可讀性和結構。 雖然您可以將 matplotlib 的樣式設置為 ggplot,但您無法像在 ggplot2 中那樣在 matplotlib 中實現圖形語法。
      ?

      安裝

      在開始之前,您必須安裝 plotnine。 與往常一樣,這樣做有兩個主要選項:pip 和 conda。

      # Using pip
      pip install plotnine         
      
      # Using conda
      conda install -c conda-forge plotnine
      

      繪圖

      安裝了 plotnine 之后,就可以開始使用圖形語法繪制圖形了。讓我們開始構建一個非常簡單的繪圖,只使用三個必不可少的組成部分:數據、aesthetics 組件和幾何對象。

      使用圖形語法構建繪圖
      如您所見,語法非常類似于 ggplot2。首先,我們指定數據源。在我們的例子中,我們使用的數據是典型的 mpg 數據集。接下來,我們定義變量 "class" 將顯示在 x 軸上。最后,我們說,我們想使用大小為 20 的條形圖來可視化我們的數據。讓我們來看看完整的代碼和結果圖:

      import pandas as pd
      import numpy as np
      from pandas.api.types import CategoricalDtype
      from plotnine import *
      from plotnine.data import mpg
      %matplotlib inline
      
      (ggplot(mpg)         # defining what data to use
       + aes(x='class')    # defining what variable to use
       + geom_bar(size=20) # defining the type of plot to use
      )
      

      上面的代碼將產生以下輸出:

      雖然這是一個好的開始,但看起來還不是很好。讓我們用圖形的語法的其他組成部分來美化我們的圖形。

      (ggplot(mpg)
       + aes(x='class')
       + geom_bar(size=20)
       + coord_flip()        # flipping the x- and y-axes
       + labs(title='Number of Vehicles per Class', x='Vehicle Class', y='Number of Vehicles') # customizing labels
      )
      

      例如,我們可以使用coord_flip()翻轉坐標軸,并使用labs()自定義繪圖和坐標軸標題以改進我們的繪圖。使用上面的代碼塊,我們的繪圖將如下所示:
      在這里插入圖片描述

      繪制多維數據

      除了基本的繪圖之外,您還可以在 ggplot2 中完成幾乎所有可以做的事情,比如繪制多維數據。如果你想將三個變量之間的關系可視化,你可以在平面圖上添加美學元素:

      (ggplot(mpg)
       + aes(x='displ', y='hwy', color='class')
       + geom_point()
       + labs(title='Engine Displacement vs. Highway Miles per Gallon', x='Engine Displacement, in Litres', y='Highway Miles per Gallon')
      )
      

      color 添加到 aesthetics 組件中將會促使 plotnine 呈現一個在 x 軸上使用 displ(發動機排量,以升為單位)和在 y 軸上使用 hwy(每加侖高速公路英里數),并根據 class 變量為數據著色的二維圖。我們還可以將幾何對象切換到 geom_point(),這將為我們提供散點圖而不是條形圖。 讓我們來看看會是什么樣子:
      在這里插入圖片描述

      總結

      如您所見,plotnine 為您提供了在 Python 中利用圖形語法的能力。這增加了代碼的可讀性,并允許您將部分數據專門映射到可視對象。如果您已經熟悉 ggplot2,那么您無需學習任何新知識即可掌握 plotnine。如果沒有,這里是 ggplot2 網站的鏈接,您可以在該網站上找到更多關于圖形語法和所有類型的可用幾何對象的信息。

      posted @ 2022-03-02 14:10  章魚貓先生  閱讀(435)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 成人动漫综合网| 日本成人午夜一区二区三区| 古交市| 蜜臀91精品国产高清在线| 国产中文字幕精品视频| 在线午夜精品自拍小视频| 在线精品国产中文字幕| 国产成人高清精品亚洲| 久久伊99综合婷婷久久伊| 亚洲午夜天堂| 美女一区二区三区亚洲麻豆| 久久这里都是精品二| 成人综合婷婷国产精品久久蜜臀 | 巴青县| 黄色A级国产免费大片视频| 精品人妻一区二区三区蜜臀| 久天啪天天久久99久孕妇| 久热久精久品这里在线观看| 神马视频| 国产欧美精品一区aⅴ影院| 天天躁夜夜躁狠狠综合| 亚洲精品一区二区二三区| 欧美一本大道香蕉综合视频| 国产萌白酱喷水视频在线观看| 99精品视频九九精品视频| 无码人妻一区二区三区AV| 人妻无码∧V一区二区| 江安县| 四虎国产精品永久在线| japanese无码中文字幕| 亚洲人午夜精品射精日韩| 中文字幕日韩精品亚洲一区| 高清精品一区二区三区| 日本黄色一区二区三区四区| 亚洲国产成人综合精品| 丰满的少妇被猛烈进入白浆| 少妇被粗大的猛烈xx动态图| 久久精品国产免费观看频道| 久久―日本道色综合久久| 亚洲真人无码永久在线| 无码人妻精品一区二区三区下载 |