Python 編程語言對於所有類型的項目都有不同類型的庫。同樣,python 有各種用於數據可視化的庫,因此用戶可以非常詳細地理解數據集並正確地分析它。
每個可視化庫都有自己的規範。將特定的庫用於特定的任務有助於用戶以更簡單和準確的方式完成任務。有些解放者比其他人工作得更好。在本文中,我們將討論這些庫的優缺點,以了解哪個庫更適合數據可視化。
Python 編程中的數據可視化庫如下所示:
- Matplotlib
- Ggplot(列印)
- 皮加爾
- 密西西比州
- 希伯恩
- 陰謀地
- 閃光
- 皮革
- 地質圖書館
- Bokeh
- 薄層
Matplotlib
Matplotlib 是一個用於在 Python 編程語言中繪製圖形的庫。它用於繪製二維數組。Matplotlib 建立在T3NumPy陣列上。它被設計成與邊界 SciPy 棧一起工作。它是由約翰·亨特在 2002 年開發的。
可視化的好處是用戶可以可視化地訪問大量數據集。Matplotlib 是一個由直方圖、條形圖、折線圖、散點圖等各種圖組成的庫。
Matplotlib 有各種各樣的情節。圖表有助於理解模式、趨勢和建立相關性。它有推理定量信息的工具。
由於 matplotlib 是 python 中數據可視化的第一個庫,所以許多其他庫都是在它的基礎上開發的,或者被設計成與它並行工作來分析數據集。
import matplotlib.pyplot as pyplt
import numpy as np
np.random.seed ( 16 )
pyplt.ylable ( ' stepfilled ' )
pyplt.show ( )
輸出:
希伯恩
Seaborn 是一個 Python 編程庫,主要用於製作數據集的統計圖形。這個庫建立在 Matplotlib 庫的基礎上。它還與 Pandas 緊密集成,Pandas 用於數據集的數據結構。
Seaborn 非常有助於以更好的方式探索和理解數據。它為繪製吸引人的、信息豐富的代數圖形提供了一個高水平的交叉點。讓我們理解下面的例子。
示例-
import seaborn as sns
sns.set ( color_codes = True)
import matplotlib.pyplot as plt
for i in range(n_rows):
fg,ax = plt.subplots(nrows=1,ncols=n_cols,sharey=True,figsize=(8, 2.4))
for j in range(n_cols):
sns.violinplot(x = data.Outcome, y=data[columns[idx]], ax=ax[j])
idx += 1
if idx >= 8:
break
輸出:
Ggplot(列印)
ggplot 是圖形語法的 Python 操作。它基於 ggplot2,這是一個 R 編程語言繪圖系統。它有一個不同於 matplotlib 的操作過程,因為它允許用戶為創建一個完整的繪圖對組件進行分層。用戶可以從軸開始分層,添加點,然後是一條線,然後是趨勢線,等等。
Ggplot 不是為了開發高水平的定製圖形而設計的。它有一個簡單的繪圖方法,不複雜。它與 Pandas 融為一體。因此,最好在使用 ggplot 時將數據存儲在數據幀中。
示例-
from plotnine.data import economics
from plotnine import ggplot , aes , geom_line
(
ggplot ( economics ) #what data to use
+ aes ( x = " price " ) #what variables to use
+geom_line ( ) #Geometric object to use for creating graphs.
)
Bokeh
Boken 是一個 Python 庫,也是基於圖形的語法,就像 ggplot 一樣。它只是 Python 語言固有的。這個庫不能在 R 編程語言中使用。該庫具有構建互動式網路就緒圖的能力,這些圖是 JSON 對象、互動式網路應用或 HTML 文檔的輸出。這個 python 語言庫還允許流式傳輸和實時數據。
在 Bokeh 庫中,有三個具有不同控制級別的介面來放置不同的用戶類型。最高級別的控制用於快速創建圖表。該庫包括生成和繪製標準圖表的不同方法,如條形圖、直方圖和箱線圖。最底層關注開發人員和軟體工程師。
該級別沒有預設的默認值,用戶必須定義圖表或繪圖的每個元素。中級控制的規格與 Matplotlib 庫相同。這個級別允許用戶控制每個圖表和繪圖塊的基本開發。讓我們理解下面的例子。
示例-
from bokeh.plotting import figure , output_file , show
from bokeh.sampledata.stocks import AAPL
aapl = np.array ( AAPL [ ' adj_close ' ] )
aaply_city = np.array ( AAPL [ ' city ' ] , dtype = np.city.temperature(F)
windows_size = 30
window = np.ones ( windows_Size ) / float ( windows _size )
皮加爾
Pygal 是 Python 編程語言的庫,也用於數據可視化。這個庫還開發了互動式情節,就像 Bokeh 和 Plotly 庫一樣。使用 pygal library 開發的互動劇情可以紮根在網路瀏覽器中。這個庫能夠以 SVG 的形式提供數據的輸出聊天。
支持向量機適用於較小的數據集。因此,如果用戶正在使用一個大數據集,並試圖創建具有大量數據點的圖表,圖表將在執行中出現問題,並將變得緩慢。
在 pygal 庫中,只需幾行代碼就可以很容易地繪製出一個吸引人的圖表,因為它對所有不同的圖表類型都有方法,而且它還有內置的樣式。
示例-
import pygal
box_plot = pygal.Box()
box_plot.title = ' V8 benchmark result '
box_plot.add ( ' Chrome ', [ 6394, 8211, 7519, 7217, 12463, 1659, 2122, 8606 ] )
box_plot.add ( ' Firefox ', [ 7472, 8098, 11699, 2650, 6360, 1043, 3796, 9449 ] )
box_plot.add ( ' Opera ', [ 3471, 2932, 4202, 5228, 5811, 1827, 9012, 4668 ] )
box_plot.add ( ' IE ', [ 42, 40, 58, 78, 143, 135, 33, 101 ] )
輸出:
陰謀地
Plotly 是一個用於數據可視化的庫。這也是一個開放的平台,用戶可以在線可視化和分析數據。
該庫用於開發互動式圖表。這是一個開源繪圖庫,允許近 40 種獨特的圖表和繪圖類型,涵蓋了大量代數、經濟、地理三維和科學用戶案例。
該庫用於繪製聊天記錄和繪圖,如樹狀圖、三維圖表和等高線圖。
python 的 Plotly 庫是在 Plotly JavaScript 庫的基礎上開發的。
示例-
import plotly.graph_objects as ply
# Add data
months = [ ' Jan ', ' Feb ', ' Mar ', ' Apr ', ' May ', ' June ', ' July ',' Aug ', ' Sep ', ' Oct ', ' Nov ', ' Dec ']
high_2010 = [ 31.5, 36.6, 48.9, 52.0, 68.1, 74.4, 75.5, 75.6, 69.7, 59.6, 44.1, 28.3 ]
low_2010 = [ 12.8, 21.3, 31.5, 36.2, 50.9, 55.1, 56.7, 57.3, 50.2, 41.8, 30.6, 14.9 ]
high_2015 = [ 35.5, 25.6, 42.6, 51.3, 70.5, 80.4, 81.5, 81.2, 75.0, 66.3, 45.1, 34.0 ]
low_2015 = [ 22.6, 13.0, 26.0, 35.8, 46.6, 56.7, 57.9, 60.2, 52.3, 47.5, 30.0, 22.6 ]
high_2020 = [ 27.8, 27.5, 36.0, 55.8, 68.7, 78.7, 77.5, 76.8, 73.1, 61.6, 44.3, 38.9 ]
low_2020 = [ 11.7, 13.3, 17.6, 34.5, 48.9, 57.0, 59.0, 57.6, 50.7, 44.2, 31.2, 28.1 ]
fig = go.Figure ()
# Create and style traces
fig.add_trace ( ply.Scatter( x = month, y = high_2020, name='High 2020',line = dict ( color = ' firebrick ', width = 4 ) ) )
fig.add_trace ( ply.Scatter( x = month, y = low_2020, name = ' Low 2020', line = dict ( color = ' royalblue ', width = 4 ) ))
fig.add_trace ( ply.Scatter( x = month, y = high_2015, name = 'High 2015', line = dict(color = 'firebrick', width = 4, dash = 'dash' ) # here in this code dash options also involve 'dash', 'dot', and 'dashdot' ) )
fig.add_trace (ply.Scatter ( x = month, y = low_2015, name = 'Low 2015', line = dict ( color = 'royalblue', width = 4, dash = 'dash' ) ) )
fig.add_trace (ply.Scatter ( x = month, y=high_2010, name='High 2010',
line = dict(color='firebrick', width=4, dash='dot')))
fig.add_trace (ply.Scatter ( x = months, y = low_2010, name='Low 2010', line = dict ( color = 'royalblue', width = 4, dash = 'dot') ) )
# Editing the layout of the graph
fig.update_layout ( title = 'Average High and Low Temperatures in NYC',
xaxis_title = ' Months ',
yaxis_title = ' Temperatures ( degrees F ) ' )
fig.show ()
輸出:
地質圖書館
Geoplotlib 是一個 Python 語言庫,允許用戶開發地圖和繪製地理數據。它是工具箱的一個庫,用於繪製不同類型的地圖,如熱圖、點 – 密度圖和弦圖。
要使用 geoplotlib 庫,用戶需要下載 Pyglet,這是一種面向對象編程語言的介面。Geoplotlib 庫在開放街道地圖圖塊上繪製地圖點。
它還具有縮放和平移地圖的功能,以便用戶可以更具體地查看。該庫自動處理整個數據集載入、地圖投影和下載地圖切片。它有來自 OpenGL 的圖形渲染。
示例-
import geoplotlib
from geoplotlib.utils import BoundingBox
from geoplotlib.colors import ColorMap
import json
# find the unemployment rate of the particular county, and then change it to color
def get_color ( properties ):
key = str ( int ( properties [ ' STATE ' ] ) ) + properties [ ' COUNTRY ' ]
if key in unemployment:
return cmap.to_color ( unemployment.get ( key ) , .15, ' lin ' )
else:
return [ 0, 0, 0, 0 ]
with open (' sample /data /unemployment.json ' ) as fin:
unemployment = json.load ( fin )
cmap = ColorMap (' Blues ', alpha = 255, levels = 10 )
geoplotlib.geojson (' samples /data/ gz_2010_us_050_00_20m.json ' , fill = True , color = get_color , f_tooltip = lambda properties: properties[ ' NAME ' ] )
geoplotlib.geojson ( ' samples/ data/ gz_2010_us_050_00_20m.json ' , fill = False , color = [ 255 , 255 , 255 , 64 ] )
geoplotlib.set_bbox (BoundingBox.USA )
geoplotlib.show ( )
輸出:
閃光
Gleam 用於 Python 編程語言中的數據可視化。靈感來源於 R 編程語言的閃亮包。該庫用於可視化和分析僅使用 Python 腳本的互動式網路應用的數據。
因此,用戶不需要學習任何其他編程語言,如 JavaScript、HTML 或 CSS 。Gleam 可以使用 python 編程語言的任何數據可視化庫。
使用 gleam,用戶需要開發基本的圖表,並且他們可以在其頂部構建不同的欄位,之後可以輕鬆地過濾和排序數據。
示例-
from wtforms import fields
from ggplot import *
from gleam import Page, panels
class ScatterInput ( panels.Inputs ) :
title = fields.StringField ( label = " Title of plot : " )
yvar = fields.SelectField ( label = " Y axis " ,
choices = [ ( " beef " , " Beef " ) ,
( " pork " , " Pork " ) ] )
smoother = fields.BooleanField ( label = " Smoothing Curve " )
輸出:
密西西比州
Missingno 是一個 Python 編程語言庫,用於處理具有缺失值或混亂值的數據集。
這個庫提供了一個小工具集,它易於使用,並且在缺少數據可視化的情況下非常靈活。它具有幫助用戶快速獲得完整性數據集的可視化摘要的實用程序。
用戶可以使用過濾器並基於完整性對數據集進行分類,或者使用熱圖或樹狀圖發現相關性。
示例-
import missingno as mgno
%matplotlib inline
mgno.matrix ( collisions.samples ( 250 ) )
輸出:
皮革
皮革是一個 Python 編程語言庫,用於為那些立即需要圖表而不在乎圖表是否完美的人創建圖表。
這個庫適用於所有類型的數據集。該庫將數據的輸出聊天創建為支持向量機,以便用戶能夠以最佳質量測量圖表。
皮革圖書館是一個新圖書館,儘管如此,它的一些文獻仍在整理中。使用該庫創建的圖表是基本的,但質量很好,這是粗略製作的。
示例-
import random
import leather
dot_dat = [ ( random.randint ( 0 , 10 ) , random.randint ( 0 , 10 ) for i in range ( 100 ) ]
def colorizer ( d ) :
return ' rgb ( %i , %, %i ) ' % ( d.x , d.y , 10 )
chart = leather.chart ( ' first ' )
薄層
leaf 是一個庫,它使 ivery 易於在互動式傳單地圖上可視化和分析數據。這個庫有各種內置的 tilesets 來自不同的平台,像開放街道地圖,雄蕊和地圖框。
葉庫很容易用標記繪製地圖。然而,其他 python 語言庫也能夠創建像阿爾泰、博肯和 T2 這樣的地圖。leaf 庫使用了 OpenStreetMap,給人一種穀歌地圖的感覺,還有幾行代碼。
這個庫還使得通過使用標記來添加其他用戶的可能位置變得容易。
葉庫也有各種插件,可以在地圖上看到,包括一個阿爾泰的插件。
示例-
import folium
M = folium.Map ( location = [ 26.987675 , 67.989654 ] )
m
摘要
本文以更具體和詳細的方式討論了用於數據可視化和分析的不同類型的 Python 庫。
我們還討論了每個庫的不同用途和目的以及它們的獨特功能,例如哪個庫用於哪種繪圖和創建圖表,以及我們如何能夠更準確、更快速地輸出可視化數據集。
原創文章,作者:CQGYD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129204.html