導航:首頁 > 編程語言 > 用python將數據集可視化代碼

用python將數據集可視化代碼

發布時間:2023-08-16 14:22:02

⑴ 怎樣用python進行數據可視化

用python進行數據可視化的方法:可以利用可視化的專屬庫matplotlib和seaborn來實現。基於python的繪圖庫為matplotlib提供了完整的2D和有限3D圖形支持。
我們只需藉助可視化的兩個專屬庫(libraries),俗稱matplotlib和seaborn即可。
(推薦教程:Python入門教程)
下面我們來詳細介紹下:
Matplotlib:基於Python的繪圖庫為matplotlib提供了完整的2D和有限3D圖形支持。這對在跨平台互動環境中發布高質量圖片很有用。它也可用於動畫。
Seaborn:Seaborn是一個Python中用於創建信息豐富和有吸引力的統計圖形庫。這個庫是基於matplotlib的。Seaborn提供多種功能,如內置主題、調色板、函數和工具,來實現單因素、雙因素、線性回歸、數據矩陣、統計時間序列等的可視化,以讓我們來進一步構建復雜的可視化。

⑵ 如何python數據可視化代碼

matplotlib的圖像都位於Figure對象中,你可以用plt.figure創建一個新的Figure,不能通過空Figure繪圖,必須用add_subplot創建一個或多個sub_plot才行
>>> import matplotlib.pyplot as plt
>>> fig=plt.figure()
>>> ax1=fig.add_subplot(2,2,1)
>>> ax2=fig.add_subplot(2,2,2)

你可以在matplotlib的文檔中找到各種圖表類型,由於根據特定布局創建Figure和subplot是一件常見的任務,於是便出現一個更為方便的方法:plt.subplots,它可以創建一個新的Figure,且返回一個含有已創建的subplot對象的numpy數組。

⑶ python 怎樣數據可視化 3d

importrandom

importnumpyasnp
importmatplotlibasmpl
importmatplotlib.pyplotasplt
importmatplotlib.datesasmdates

frommpl_toolkits.mplot3dimportAxes3D

mpl.rcParams['font.size']=10

fig=plt.figure()
ax=fig.add_subplot(111,projection='3d')

forzin[2011,2012,2013,2014]:
xs=xrange(1,13)
ys=1000*np.random.rand(12)

color=plt.cm.Set2(random.choice(xrange(plt.cm.Set2.N)))
ax.bar(xs,ys,zs=z,zdir='y',color=color,alpha=0.8)

ax.xaxis.set_major_locator(mpl.ticker.FixedLocator(xs))
ax.yaxis.set_major_locator(mpl.ticker.FixedLocator(ys))

ax.set_xlabel('Month')
ax.set_ylabel('Year')
ax.set_zlabel('SalesNet[usd]')

plt.show()

效果圖:


利用ptyhonmatplotlib 3D函數可以畫出一些3D視覺圖

⑷ Python數據可視化利器Matplotlib從入門到高級4

2D曲線繪制是Matplotlib繪圖的最基本功能,也是用得最多、最重要的繪圖功能之一,本文開始詳細介紹Matplotlib 2D曲線繪圖功能。我的介紹主要以面向對象的編碼風格為主,但會在文章的末尾附上相應的pyplot風格的源代碼,供大家查閱、對比。我們先看一段代碼:

代碼運行效果如下:

這個繪圖中我們沒有作任何設置,一切交給Matplotlib處理。我們只是看到了繪制出的曲線的樣子。但這與我們所想要的效果可能差異較大。所以我們還需要對圖形進行一些自定義。

不管我們想生成什麼樣的圖形,在Matplotlib當中,大致都可以總結為三步:一是構造繪圖用的數據(Matplotlib推薦numpy數據,本系列介紹Matplotlib繪圖,暫不涉及numpy的相關內容,留待後續有空餘時吧);二是根據數據的特點選擇適當的繪圖方法並繪制出數據的圖形;第三步則是對繪制的圖形進行自定義設置或者美化以達到滿足我們獲得精美的輸出圖形的要求。

在上面的繪圖中,我們僅僅做到了第二步,下面我們來進行一些自定義,而Matplotlib為此提供了非常豐富的功能。

你可能最想先嘗試一下換個顏色看看曲線是什麼樣的,這有很多種方法。首先,我們可以在繪制圖形的時候直接指定它,我們把繪圖的代碼改成下面的樣子:

這里的 『r』 是 「red」的簡寫,表示將曲線的顏色指定為紅色。也可以寫成下面的樣子,這樣可讀性更高:

plot 返回一個 Line2D 對象的列表,我們使用一個帶有「 line1, 」的元組來解包,隨後使用 set_color() 代碼設置line1 曲線的顏色,請注意這里設置的顏色會覆蓋 plot 繪圖函數當中指定的顏色。上面三段代碼各自獨立運行之後的效果是一樣的。如下:

為了提高效率,Matplotlib模仿MATLAB支持常用顏色的單字母代碼縮寫。

你還可以使用不區分大小寫的十六進制 RGB 或 RGBA 字元串(如:'#0f0f0f'),或者不區分大小寫的 X11/CSS4 顏色名稱(如:'aquamarine'),以及來自 xkcd color survey 的不區分大小寫的顏色名稱(如:'xkcd:sky blue')等等。更為詳細的顏色規范,你可以查閱官方文檔。但對於Python辦公而言,掌握這些應該已經足夠了。

與曲線顏色一樣,線型和線寬也有多種方式來指定:

這里我們最終指定的線寬為2.0磅,繪圖函數當中指定的線寬被後續指定的屬性值覆蓋了。而線型在這里由set_linestyle()指定,其中「--」和「-.」都是Matplotlib中支持的線型,「--」表示虛線,而「-.」則是點劃線。而Matplotlib默認的線型「-」實線,除此之外,Matplotlib還支持「:」點線。

我們繪制曲線之前構造的數據點在曲線上也可以標記出來,這些標記點有不同的風格。同樣可以以不同的方式來設置它:

注意第一行代碼當中的「r:o」字元串,它是一種簡寫形式,是將顏色、線型和標記點形狀在一個字元串中同時設置的方式,其中的「r」表示紅色,「:」表示點線,「o」表示標記點為大圓點。只有在顏色使用單字元代碼時才可以像上面這樣組合起來同時表示三個屬性。默認情況下,標記點的顏色與線型顏色相同,但可以單獨設置與曲線不同的顏色,不僅如此,標記點的邊線顏色和中間填充顏色也都可以單獨設置。上面第二行代碼我們就使用set_markeredgecolor('b')將標記點邊線顏色設置為了藍色。與標記點設置相關的還有set_marker(設置標記點形狀)、set_markeredgewidth(設置標記點邊線寬度)、set_markerfacecolor(設置標記點中間的填充色)、set_markersize (設置標記點的大小)等。下面是我整理的Matplotlib支持的所有標記點形狀。

本文先介紹到此,後續進一步介紹坐標軸、圖例和網格線的設置。最後附上本文pyplot風格的繪圖代碼:

顯然這種簡單繪圖pyplot風格要簡潔一些,還是很有優勢的。

⑸ 114 11 個案例掌握 Python 數據可視化--美國氣候研究

自哥本哈根氣候會議之後,全球日益關注氣候變化和溫室效應等問題,並於會後建立了全球碳交易市場,分階段分批次減碳。本實驗獲取了美國 1979 - 2011 年間 NASA 等機構對美國各地日均最高氣溫、降雨量等數據,研究及可視化了氣候相關指標的變化規律及相互關系。
輸入並執行魔法命令 %matplotlib inline, 並去除圖例邊框。

數據集介紹:
本數據集特徵包括美國 49 個州(State),各州所在的地區(Region),統計年(Year),統計月(Month),平均光照(Avg Daily Sunlight),日均最大空氣溫度(Avg Daily Max Air Temperature ),日均最大熱指數(Avg Daily Max Heat Index ),日均降雨量(Avg Daily Precipitation ),日均地表溫度(Avg Day Land Surface Temperature)。
各特徵的年度區間為:

導入數據並查看前 5 行。

篩選美國各大區域的主要氣候指數,通過 sns.distplot 介面繪制指數的分布圖。

從運行結果可知:
光照能量密度(Sunlight),美國全境各地區分布趨勢大致相同,均存在較為明顯的兩個峰(強光照和弱光照)。這是因為非赤道國家受地球公轉影響,四季光照強度會呈現出一定的周期變化規律;
從地理區位能看出,東北部光照低谷明顯低於其他三個區域;
日均最高空氣溫度(Max Air Temperature),美國全境各地區表現出較大差異,東北部和中西部趨勢大致相同,氣溫平緩期較長,且包含一個顯著的尖峰;西部地區平緩期最長,全年最高溫均相對穩定;南部分布則相對更為集中;
日均地表溫度(Land Surface Temperature),與最高空氣溫度類似,不同之處在於其低溫區分布更少;
最大熱指數(Max Heat Index),西部與中西部分布較為一致,偏溫和性溫度,東北部熱指數偏高,南部偏低;
降雨量(Precipitation),西部明顯偏小,南部與東北部大致相同,中西部相對較多。

結合地理知識做一個總結:
東北部及大多數中西部地區,屬於溫帶大陸性氣候,四季分明,夏季悶熱,降雨較多。
西部屬於溫帶地中海氣候,全年氣候溫和,並且乾燥少雨,夏季氣候溫和,最高溫度相對穩定。
南部沿海一帶,終年氣候溫暖,夏季炎熱,雨水充沛。

按月計算美國各地區降雨量均值及標准偏差,以均值 ± 一倍標准偏差繪制各地區降雨量誤差線圖。

從運行結果可知:
在大多數夏季月份,西部地區降雨量遠小於其他地區;
西部地區冬季月降雨量高於夏季月;
中西部地區是較為典型的溫帶大陸性氣候,秋冬降雨逐漸減少,春夏降雨逐漸升高;
南部地區偏向海洋性氣候,全年降雨量相對平均。

需要安裝joypy包。

日均最高氣溫變化趨勢
通過 joypy 包的 joyplot 介面,可以繪制帶堆積效應的直方分布曲線,將 1980 年 - 2008 年的日均最高溫度按每隔 4 年的方式繪制其分布圖,並標注 25%、75% 分位數。

從運行結果可知:
1980 - 2008 年區間,美國全境日均最高溫度分布的低溫區正逐漸升高,同時高溫區正逐漸降低,分布更趨向於集中;
1980 - 2008 年區間,美國全境日均最高溫度的 25% 分位數和 75% 分位數有少量偏離但並不明顯。
日均降雨量變化趨勢
同樣的方式對降雨量數據進行處理並查看輸出結果。

篩選出加州和紐約州的日均降雨量數據,通過 plt.hist 介面繪制降雨量各月的分布圖。

從運行結果可知:
加州地區降雨量多集中在 0 - 1 mm 區間,很少出現大雨,相比而言,紐約州則顯得雨量充沛,日均降雨量分布在 2 - 4 mm 區間。

直方圖在堆積效應下會被覆蓋大多數細節,同時表達聚合、離散效應的箱線圖在此類問題上或許是更好的選擇。
通過 sns.boxplot 介面繪制加州和紐約州全年各月降雨量分布箱線圖.

從箱線圖上,我們可以清晰地對比每個月兩個州的降雨量分布,既可以看到集中程度,例如七月的加州降雨量集中在 0.1 - 0.5 mm 的窄區間,說明此時很少會有大雨;又可以看到離散情況,例如一月的加州,箱線圖箱子(box)部分分布較寬,且上方 10 mm 左右存在一個離散點,說明此時的加州可能偶爾地會出現大到暴雨。

視覺上更為美觀且簡約的是擺動的誤差線圖,實驗 「美國全境降雨量月度分布」 將所有類別標簽的 x 位置均放於同一處,導致誤差線高度重合。可通過調節 x 坐標位置將需要對比的序列緊湊排布。

從輸出結果可以看出,加州冬季的降雨量不確定更強,每年的的十一月至次年的三月,存在降雨量大,且降雨量存在忽多忽少的現象(誤差線長)。

上面的實驗均在研究單變數的分布,但經常性地,我們希望知道任意兩個變數的聯合分布有怎樣的特徵。
核密度估計 , 是研究此類問題的主要方式之一, sns.kdeplot 介面通過高斯核函數計算兩變數的核密度函數並以等高線的形式繪制核密度。

從運行結果可知:
加州在高溫區和低降雨期存在一個較為明顯的高密度分布區(高溫少雨的夏季);
紐約州在高溫及低溫區均存在一個高密度的分布區,且在不同溫區降雨量分布都較為均勻。

將美國全境的降雨量與空氣溫度通過 plt.hist2d 介面可視化。

從運行結果可知:
美國全境最高密度的日均高溫溫度區域和降雨量區間分別為,78 F (約等於 25 C)和 2.2 mm 左右,屬於相對舒適的生活氣候區間。
美國全境降雨量與空氣溫度的關系-核密度估計
在上面實驗基礎上,在 x, y 軸上分別通過 sns.rugplot 介面繪制核密度估計的一維分布圖,可在一張繪圖平面上同時獲取聯合分布和單變數分布的特徵。

美國全境降雨量與空氣溫度的關系-散點分布和直方分布
sns.jointplot 介面通過柵格的形式,將單變數分布用子圖的形式進行分別繪制,同時通過散點圖進行雙變數關系的展示,也是一種較好的展現數據分布的方式。

上面兩個實驗研究了雙變數分布的可視化,以下研究 3 變數聚合結果的可視化。
通過 sns.heatmap 介面可實現對透視數據的可視化,其原理是對透視結果的值賦予不同的顏色塊,以可視化其值的大小,並通過顏色條工具量化其值大小。

上面的兩個實驗可視化了各州隨年份日均最高溫度的中位數變化趨勢,從圖中並未看出有較為顯著地變化。
以下通過 t 檢驗的方式查看統計量是否有顯著性差異。stats.ttest_ind 介面可以輸出 1980 年 與 2010 年主要氣候指數的顯著性檢驗統計量及 p 值。

從運行結果可以看出:
檢驗結果拒絕了降雨量相等的原假設,即 1980 年 與 2010 年兩年間,美國降雨量是不同的,同時沒有拒絕日均日照、日均最大氣溫兩個變數相等的原假設,說明氣溫未發生顯著性變化。

⑹ Python 數據可視化:分類特徵統計圖

上一課已經體驗到了 Seaborn 相對 Matplotlib 的優勢,本課將要介紹的是 Seaborn 對分類數據的統計,也是它的長項。

針對分類數據的統計圖,可以使用 sns.catplot 繪制,其完整參數如下:

本課使用演繹的方式來學習,首先理解這個函數的基本使用方法,重點是常用參數的含義。

其他的參數,根據名稱也能基本理解。

下面就依據 kind 參數的不同取值,分門別類地介紹各種不同類型的分類統計圖。

讀入數據集:

然後用這個數據集制圖,看看效果:

輸出結果:

毫無疑問,這里繪制的是散點圖。但是,該散點圖的橫坐標是分類特徵 time 中的三個值,並且用 hue='kind' 又將分類特徵插入到圖像中,即用不同顏色的的點代表又一個分類特徵 kind 的值,最終得到這些類別組合下每個記錄中的 pulse 特徵值,並以上述圖示表示出來。也可以理解為,x='time', hue='kind' 引入了圖中的兩個特徵維度。

語句 ① 中,就沒有特別聲明參數 kind 的值,此時是使用默認值 'strip'。

與 ① 等效的還有另外一個對應函數 sns.stripplot。

輸出結果:

② 與 ① 的效果一樣。

不過,在 sns.catplot 中的兩個參數 row、col,在類似 sns.stripplot 這樣的專有函數中是沒有的。因此,下面的圖,只有用 sns.catplot 才能簡潔直觀。

輸出結果:

不過,如果換一個叫角度來說,類似 sns.stripplot 這樣的專有函數,表達簡單,參數與 sns.catplot 相比,有所精簡,使用起來更方便。

仔細比較,sns.catplot 和 sns.stripplot 兩者還是稍有區別的,雖然在一般情況下兩者是通用的。

因此,不要追求某一個是萬能的,各有各的用途,存在即合理。

不過,下面的聲明請注意: 如果沒有非常的必要,比如繪制分區圖,在本課中後續都演示如何使用專有名稱的函數。

前面已經初步解釋了這個函數,為了格式完整,這里再重復一下,即 sns.catplot 中參數 kind='strip'。

如果非要將此函數翻譯為漢語,可以稱之為「條狀散點圖」。以分類特徵為一坐標軸,在另外一個坐標軸上,根據分類特徵,將該分類特徵數據所在記錄中的連續值沿坐標軸描點。

從語句 ② 的結果圖中可以看到,這些點雖然縱軸的數值有相同的,但是沒有將它們重疊。因此,我們看到的好像是「一束」散點,實際上,所有點的橫坐標都應該是相應特徵分類數據,也不要把分類特徵的值理解為一個范圍,分散開僅僅是為了圖示的視覺需要。

輸出結果:

④ 相對 ② 的圖示,在於此時同一縱軸值的都重合了——本來它們的橫軸值都是一樣的。實現此效果的參數是 jitter=0,它可以表示點的「振動」,如果默認或者 jitter=True,意味著允許描點在某個范圍振動——語句 ② 的效果;還可設置為某個 0 到 1 的浮點,表示許可振動的幅度。請對比下面的操作。

輸出結果:

語句 ② 中使用 hue='kind' 參數向圖中提供了另外一個分類特徵,但是,如果感覺圖有點亂,還可以這樣做:

輸出結果:

dodge=True 的作用就在於將 hue='kind' 所引入的特徵數據分開,相對 ② 的效果有很大差異。

並且,在 ⑤ 中還使用了 paletter='Set2' 設置了色彩方案。

sns.stripplot 函數中的其他有關參數,請讀者使用幫助文檔了解。

此函數即 sns.catplot 的參數 kind='swarm'。

輸出結果:

再繪制一張簡單的圖,一遍研究這種圖示的本質。

輸出結果:

此圖只使用了一個特徵的數據,簡化表象,才能探究 sns.swarmplot 的本質。它同樣是將該特徵中的數據,依據其他特徵的連續值在圖中描點,並且所有點在默認情況下不彼此重疊——這方面與 sns.stripplot 一樣。但是,與之不同的是,這些點不是隨機分布的,它們經過調整之後,均勻對稱分布在分類特徵數值所在直線的兩側,這樣能很好地表示數據的分布特點。但是,這種方式不適合「大數據」。

sns.swarmplot 的參數似乎也沒有什麼太特殊的。下面使用幾個,熟悉一番基本操作。

在分類維度上還可以再引入一個維度,用不同顏色的點表示另外一種類別,即使用 hue 參數來實現。

輸出結果:

這里用 hue = 'smoker' 參數又引入了一個分類特徵,在圖中用不同顏色來區分。

如果覺得會 smoker 特徵的值都混在一起有點亂,還可以使用下面方式把他們分開——老調重彈。

輸出結果:

生成此效果的參數就是 dodge=True,它的作用就是當 hue 參數設置了特徵之後,將 hue 的特徵數據進行分類。

sns.catplot 函數的參數 kind 可以有三個值,都是用於繪制分類的分布圖:

下面依次對這三個專有函數進行闡述。

⑺ 121 11 個案例掌握 Python 數據可視化--星際探索

星空是無數人夢寐以求想了解的一個領域,遠古的人們通過肉眼觀察星空,並制定了太陰歷,指導農業發展。隨著現代科技發展,有了更先進的設備進行星空的探索。本實驗獲取了美國國家航空航天局(NASA)官網發布的地外行星數據,研究及可視化了地外行星各參數、尋找到了一顆類地行星並研究了天體參數的相關關系。
輸入並執行魔法命令 %matplotlib inline, 設置全局字型大小,去除圖例邊框,去除右側和頂部坐標軸。

本數據集來自 NASA,行星發現是 NASA 的重要工作之一,本數據集搜集了 NASA 官網發布的 4296 顆行星的數據,本數據集欄位包括:

導入數據並查看前 5 行。

截至 2020 年 10 月 22 日 全球共發現 4296 顆行星,按年聚合並繪制年度行星發現數,並在左上角繪制 NASA 的官方 LOGO 。

從運行結果可以看出,2005 年以前全球行星發現數是非常少的,經計算總計 173 顆,2014 和 2016 是行星發現成果最多的年份,2016 年度發現行星 1505 顆。

對不同機構/項目/計劃進行聚合並降序排列,繪制發現行星數目的前 20 。

2009 年至 2013 年,開普勒太空望遠鏡成為有史以來最成功的系外行星發現者。在一片天空中至少找到了 1030 顆系外行星以及超過 4600 顆疑似行星。當機械故障剝奪了該探測器對於恆星的精確定位功能後,地球上的工程師們於 2014 年對其進行了徹底改造,並以 K2 計劃命名,後者將在更短的時間內搜尋宇宙的另一片區域。

對發現行星的方式進行聚合並降序排列,繪制各種方法發現行星的比例,由於排名靠後的幾種方式發現行星數較少,因此不顯示其標簽。

行星在宇宙中並不會發光,因此無法直接觀察,行星發現的方式多為間接方式。從輸出結果可以看出,發現行星主要有以下 3 種方式,其原理如下:

針對不同的行星質量,繪制比其質量大(或者小)的行星比例,由於行星質量量綱分布跨度較大,因此採用對數坐標。

從輸出結果可以看出,在已發現的行星中,96.25% 行星的質量大於地球。(圖中橫坐標小於 e 的紅色面積非常小)

通過 sns.distplot 介面繪制全部行星的質量分布圖。

從輸出結果可以看出,所有行星質量分布呈雙峰分布,第一個峰在 1.8 左右(此處用了對數單位,表示大約 6 個地球質量),第二個峰在 6.2 左右(大概 493 個地球質量)。

針對不同發現方式發現的行星,繪制各行星的公轉周期和質量的關系。

從輸出結果可以看出:徑向速度(Radial Velocity)方法發現的行星在公轉周期和質量上分布更寬,而凌日(Transit)似乎只能發現公轉周期相對較短的行星,這是因為兩種方法的原理差異造成的。對於公轉周期很長的行星,其運行到恆星和觀察者之間的時間也較長,因此凌日發現此類行星會相對較少。而徑向速度與其說是在發現行星,不如說是在觀察恆星,由於恆星自身發光,因此其觀察機會更多,發現各類行星的可能性更大。

針對不同發現方式發現的行星,繪制各行星的距離和質量的關系。

從輸出結果可以看出,凌日和徑向速度對距離較為敏感,遠距離的行星大多是通過凌日發現的,而近距離的行星大多數通過徑向速度發現的。原因是:近距離的行星其引力對恆星造成的擺動更為明顯,因此更容易觀察;當距離較遠時,引力作用變弱,擺動效應減弱,因此很難藉助此方法觀察到行星。同時,可以觀察到當行星質量更大時,其距離分布相對較寬,這是因為雖然相對恆星的距離變長了,但是由於行星質量的增加,相對引力也同步增加,恆星擺動效應會變得明顯。

將所有行星的質量和半徑對數化處理,繪制其分布並擬合其分布。
由於:

因此,從原理上質量對數與半徑對數應該是線性關系,且斜率為定值 3 ,截距的大小與密度相關。

從輸出結果可以看出:行星質量和行星半徑在對數變換下,具有較好的線性關系。輸出 fix_xy 數值可知,其關系可以擬合出如下公式:

擬合出曲線對應的行星平均密度為:

同樣的方式繪制恆星質量與半徑的關系。

從輸出結果可以看出,恆星與行星的規律不同,其質量與半徑在對數下呈二次曲線關系,其關系符合以下公式:

同樣的方式研究恆星表面重力加速度與半徑的關系。

從輸出結果可以看出,恆星表面對數重力加速度與其對數半徑呈現較好的線性關系:

以上我們分別探索了各變數的分布和部分變數的相關關系,當數據較多時,可以通過 pd.plotting.scatter_matrix 介面,直接繪制各變數的分布和任意兩個變數的散點圖分布,對於數據的初步探索,該介面可以讓我們迅速對數據全貌有較為清晰的認識。

通過行星的半徑和質量,恆星的半徑和質量,以及行星的公轉周期等指標與地球的相似性,尋找諸多行星中最類似地球的行星。

從輸出結果可以看出,在 0.6 附近的位置出現了一個最大的圓圈,那就是我們找到的類地行星 Kepler - 452 b ,讓我們了解一下這顆行星:

數據顯示,Kepler - 452 b 行星公轉周期為 384.84 天,半徑為 1.63 地球半徑,質量為 3.29 地球質量;它的恆星為 Kepler - 452 半徑為太陽的 1.11 倍,質量為 1.04 倍,恆星方面數據與太陽相似度極高。
以下內容來自網路。 開普勒452b(Kepler 452b) ,是美國國家航空航天局(NASA)發現的外行星, 直徑是地球的 1.6 倍,地球相似指數( ESI )為 0.83,距離地球1400光年,位於為天鵝座。
2015 年 7 月 24 日 0:00,美國國家航空航天局 NASA 舉辦媒體電話會議宣稱,他們在天鵝座發現了一顆與地球相似指數達到 0.98 的類地行星開普勒 - 452 b。這個類地行星距離地球 1400 光年,繞著一顆與太陽非常相似的恆星運行。開普勒 452 b 到恆星的距離,跟地球到太陽的距離相同。NASA 稱,由於缺乏關鍵數據,現在不能說 Kepler - 452 b 究竟是不是「另外一個地球」,只能說它是「迄今最接近另外一個地球」的系外行星。

在銀河系經緯度坐標下繪制所有行星,並標記地球和 Kepler - 452 b 行星的位置。

類地行星,是人類寄希望移民的第二故鄉,但即使最近的 Kepler-452 b ,也與地球相聚 1400 光年。

以下通過行星的公轉周期和質量兩個特徵將所有行星聚為兩類,即通過訓練獲得兩個簇心。
定義函數-計算距離
聚類距離採用歐式距離:

定義函數-訓練簇心
訓練簇心的原理是:根據上一次的簇心計算所有點與所有簇心的距離,任一點的分類以其距離最近的簇心確定。依此原理計算出所有點的分類後,對每個分類計算新的簇心。

定義函數預測分類
根據訓練得到的簇心,預測輸入新的數據特徵的分類。

開始訓練
隨機生成一個簇心,並訓練 15 次。

繪制聚類結果
以最後一次訓練得到的簇心為基礎,進行行星的分類,並以等高面的形式繪制各類的邊界。

從運行結果可以看出,所有行星被分成了兩類。並通過上三角和下三角標注了每個類別的簇心位置。
聚類前
以下輸出了聚類前原始數據繪制的圖像。

⑻ 如何讓python可視化

簡介

在 Python 中,將數據可視化有多種選擇,正是因為這種多樣性,何時選用何種方案才變得極具挑戰性。本文包含了一些較為流行的工具以及如何使用它們來創建簡單的條形圖,我將使用下面幾種工具來完成繪圖示例:

⑼ python可視化數據分析常用圖大集合(收藏)

python數據分析常用圖大集合:包含折線圖、直方圖、垂直條形圖、水平條形圖、餅圖、箱線圖、熱力圖、散點圖、蜘蛛圖、二元變數分布、面積圖、六邊形圖等12種常用可視化數據分析圖,後期還會不斷的收集整理,請關注更新!

以下默認所有的操作都先導入了numpy、pandas、matplotlib、seaborn

一、折線圖

折線圖可以用來表示數據隨著時間變化的趨勢

Matplotlib

plt.plot(x, y)

plt.show()

Seaborn

df = pd.DataFrame({'x': x, 'y': y})

sns.lineplot(x="x", y="y", data=df)

plt.show()

二、直方圖

直方圖是比較常見的視圖,它是把橫坐標等分成了一定數量的小區間,然後在每個小區間內用矩形條(bars)展示該區間的數值

Matplotlib

Seaborn

三、垂直條形圖

條形圖可以幫我們查看類別的特徵。在條形圖中,長條形的長度表示類別的頻數,寬度表示類別。

Matplotlib

Seaborn

1plt.show()

四、水平條形圖

五、餅圖

六、箱線圖

箱線圖由五個數值點組成:最大值 (max)、最小值 (min)、中位數 (median) 和上下四分位數 (Q3, Q1)。

可以幫我們分析出數據的差異性、離散程度和異常值等。

Matplotlib

Seaborn

七、熱力圖

力圖,英文叫 heat map,是一種矩陣表示方法,其中矩陣中的元素值用顏色來代表,不同的顏色代表不同大小的值。通過顏色就能直觀地知道某個位置上數值的大小。

通過 seaborn 的 heatmap 函數,我們可以觀察到不同年份,不同月份的乘客數量變化情況,其中顏色越淺的代表乘客數量越多

八、散點圖

散點圖的英文叫做 scatter plot,它將兩個變數的值顯示在二維坐標中,非常適合展示兩個變數之間的關系。

Matplotlib

Seaborn

九、蜘蛛圖

蜘蛛圖是一種顯示一對多關系的方法,使一個變數相對於另一個變數的顯著性是清晰可見

十、二元變數分布

二元變數分布可以看兩個變數之間的關系

十一、面積圖

面積圖又稱區域圖,強調數量隨時間而變化的程度,也可用於引起人們對總值趨勢的注意。

堆積面積圖還可以顯示部分與整體的關系。折線圖和面積圖都可以用來幫助我們對趨勢進行分析,當數據集有合計關系或者你想要展示局部與整體關系的時候,使用面積圖為更好的選擇。

十二、六邊形圖

六邊形圖將空間中的點聚合成六邊形,然後根據六邊形內部的值為這些六邊形上色。

原文至:https://www.py.cn/toutiao/16894.html

⑽ Python數據分析:可視化

本文是《數據蛙三個月強化課》的第二篇總結教程,如果想要了解 數據蛙社群 ,可以閱讀 給DataFrog社群同學的學習建議 。溫馨提示:如果您已經熟悉python可視化內容,大可不必再看這篇文章,或是之挑選部分文章

對於我們數據分析師來說,不僅要自己明白數據背後的含義,而且還要給老闆更直觀的展示數據的意義。所以,對於這項不可缺少的技能,讓我們來一起學習下吧。

畫圖之前,我們先導入包和生成數據集

我們先看下所用的數據集

折線圖是我們觀察趨勢常用的圖形,可以看出數據隨著某個變數的變化趨勢,默認情況下參數 kind="line" 表示圖的類型為折線圖。

對於分類數據這種離散數據,需要查看數據是如何在各個類別之間分布的,這時候就可以使用柱狀圖。我們為每個類別畫出一個柱子。此時,可以將參數 kind 設置為 bar 。

條形圖就是將豎直的柱狀圖翻轉90度得到的圖形。與柱狀圖一樣,條形圖也可以有一組或多種多組數據。

水平條形圖在類別名稱很長的時候非常方便,因為文字是從左到右書寫的,與大多數用戶的閱讀順序一致,這使得我們的圖形容易閱讀。而柱狀圖在類別名稱很長的時候是沒有辦法很好的展示的。

直方圖是柱形圖的特殊形式,當我們想要看數據集的分布情況時,選擇直方圖。直方圖的變數劃分至不同的范圍,然後在不同的范圍中統計計數。在直方圖中,柱子之間的連續的,連續的柱子暗示數值上的連續。

箱線圖用來展示數據集的描述統計信息,也就是[四分位數],線的上下兩端表示某組數據的最大值和最小值。箱子的上下兩端表示這組數據中排在前25%位置和75%位置的數值。箱中間的橫線表示中位數。此時可以將參數 kind 設置為 box。

如果想要畫出散點圖,可以將參數 kind 設置為 scatter,同時需要指定 x 和 y。通過散點圖可以探索變數之間的關系。

餅圖是用面積表示一組數據的佔比,此時可以將參數 kind 設置為 pie。

我們剛開始學習的同學,最基本應該明白什麼數據應該用什麼圖形來展示,同學們來一起總結吧。

閱讀全文

與用python將數據集可視化代碼相關的資料

熱點內容
安卓如何玩港服游戲 瀏覽:348
程序員如何換個城市生活 瀏覽:145
JS開發PDF 瀏覽:285
app格式不對怎麼辦 瀏覽:96
32位定時器單片機 瀏覽:332
安卓編譯不能進行下一步簽名 瀏覽:607
男生做保潔解壓視頻 瀏覽:750
qd88yg壓縮機參數 瀏覽:385
pubg國際服伺服器有什麼區別 瀏覽:506
怎麼打開文件夾自動刪除 瀏覽:685
php中英文切換 瀏覽:445
php168數據 瀏覽:79
水壓縮後有彈性 瀏覽:47
蘇州阿里雲伺服器數據備份 瀏覽:524
消息提示音怎麼設置安卓 瀏覽:279
怎麼去掉安卓手機的小圓圈 瀏覽:476
女程序員每天教你一招 瀏覽:590
葯劑學pdf下載 瀏覽:477
打開的共享文件夾少東西 瀏覽:643
芝麻黑頭解壓去除視頻 瀏覽:186