五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

如何使用matplotlib讓你的數(shù)據(jù)更加生動(dòng)

發(fā)布日期:2021-12-11 21:37 | 文章來(lái)源:gibhub

1 引言

Matplotlib 是 Python 中最受歡迎的數(shù)據(jù)可視化軟件包之一,支持跨平臺(tái)運(yùn)行,它是 Python 常用的 2D 繪圖庫(kù),同時(shí)它也提供了一部分 3D 繪圖接口。Matplotlib 通常與 NumPy、Pandas 一起使用,是數(shù)據(jù)分析中不可或缺的重要工具之一。

本文就日常生活中常見(jiàn)的業(yè)務(wù)場(chǎng)景進(jìn)行展開(kāi)討論,更詳盡的說(shuō)明可以參考文檔。

2 折線圖

折線圖(line chart)是我們?nèi)粘9ぷ?、學(xué)習(xí)中經(jīng)常使用的一種圖表,它可以直觀的反映數(shù)據(jù)的變化趨勢(shì)。

可視化結(jié)果:

直線:左上直線圖形顯示。曲線:右上帶有樣式變化和標(biāo)記的折線預(yù)覽。

代碼如下:

def draw_line():
 N = 8
 t = np.linspace(0, 1, N)
 fig, (axA, axB) = plt.subplots(1, 2)
 # Line
 axA.plot(t, t, marker = 'o')
 axA.set_title('line')
 # Curve
 axB.plot(t, t, linestyle='--', marker='*',c='r', label='linear')
 axB.plot(t, t**2, linestyle='-.', marker='D',c='c', label='quadratic')
 axB.plot(t, t**3, linestyle=':', marker='^',c='y', label='cubic')
 axB.set_title('Curve')
 plt.legend()
 plt.show()

函數(shù)說(shuō)明:

plot([x], y, [fmt], data=None, **kwargs)

  1. 可選參數(shù)[fmt] 是一個(gè)字符串來(lái)定義圖的基本屬性如:顏色(color),點(diǎn)型(marker),線型(linestyle)
  2. 對(duì)于顏色 color=‘r' 代表red 表示紅色;color=‘c' 代表cyan 表示藍(lán)綠;color=‘y' 代表yellow表示黃色
  3. 對(duì)于線型 linestyle='–' 代表dashed line style 為虛線;linestyle='-.‘代表 dash-dot line style 為點(diǎn)畫線; linestyle=':' 代表dotted line style 為點(diǎn)線

3 散點(diǎn)圖

散點(diǎn)圖用于在水平軸和垂直軸上繪制數(shù)據(jù)點(diǎn),它表示了因變量隨自變量變化的趨勢(shì)。通俗地講,它反映的是一個(gè)變量受另一個(gè)變量的影響程度。

可視化結(jié)果:

散點(diǎn)圖:左上散點(diǎn)圖可視化,帶有顏色變化。氣泡圖:右上帶有顏色變化和刻度的氣泡圖。

代碼如下:

def  draw_scatter():
 N = 128
 x = np.random.rand(N)
 y = np.random.rand(N)
 c = np.random.rand(N)
 s = np.random.rand(N)
 s = np.pi*(32*s)**2
 
 cmapDisp = cm.get_cmap('rainbow')
 fig, (axA, axB) = plt.subplots(1, 2)
 # scatter
 axA.scatter(x, y, s=8,c=cmapDisp(c),alpha=0.75)
 axA.set_title('scatter')
 # bubble
 axB.scatter(x, y, c=cmapDisp(c), s=s, alpha=0.25, edgecolors='none')
 axB.set_title('bubble')
 plt.show()

函數(shù)說(shuō)明:

scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)

  • x,y:表示的是大小為(n,)的數(shù)組,也就是我們即將繪制散點(diǎn)圖的數(shù)據(jù)點(diǎn)
  • s:是一個(gè)標(biāo)量實(shí)數(shù)或者是一個(gè)數(shù)組大小為(n,),表示點(diǎn)的大小。
  • c:表示的是顏色,是一個(gè)可選項(xiàng)。默認(rèn)是藍(lán)色'b',表示的是標(biāo)記的顏色,或者可以是一個(gè)表示顏色的字符,或者是一個(gè)長(zhǎng)度為n的表示顏色的序列等等
  • marker:表示的是標(biāo)記的樣式,默認(rèn)的是'o'。
  • alpha:實(shí)數(shù),0-1之間。點(diǎn)的透明度,透明度設(shè)置的好能夠使圖好看。

4 柱狀圖

柱狀圖是一種用矩形柱來(lái)表示數(shù)據(jù)分類的圖表,柱狀圖可以垂直繪制,也可以水平繪制,它的高度與其所表示的數(shù)值成正比關(guān)系。柱狀圖顯示了不同類別之間的比較關(guān)系,圖表的水平軸 X 指定被比較的類別,垂直軸 Y 則表示具體的類別值。

可視化結(jié)果:

柱狀圖:左上圖形以組合在一起的平行柱狀圖顯示。

堆疊柱狀圖:右上圖形顯示在堆疊的柱狀圖上。

代碼如下:

def  draw_bar():
 N = 8
 Hx = np.random.randint(18, 65, size=N)
 Mx = np.random.randint(18, 65, size=N)
 Hs = np.random.randint(1, 5, size=N)
 Ms = np.random.randint(1, 5, size=N)
 indice = np.arange(N) + 1
 igrupos = ['G{}'.format(g) for g in indice]
 iidades = np.arange(0, 80, 5)
 larg = 0.25
 fig, (axA, axB) = plt.subplots(1, 2)
 # Bar
 axA.bar(indice - larg, Hx, width=larg, yerr=Hs,color='c', align='edge', label='man')
 axA.bar(indice, Mx, width=larg, yerr=Ms, color='r', align='edge', label='women')
 axA.set_title('Bar')
 axA.set_xticks(indice)
 axA.set_yticks(iidades)
 axA.set_xticklabels(igrupos)
 axA.legend()
 # Barras
 axB.bar(indice, Hx, color='c', label='man', yerr=Hs)
 axB.bar(indice, Mx, color='r', bottom=Hx, label='women', yerr=Ms)
 axB.set_title('Barras ')
 axB.set_xticks(indice)
 axB.set_xticklabels(igrupos)
 axB.set_yticks(iidades*2)
 axB.legend()
 plt.show()

函數(shù)說(shuō)明:

bar(x, height, width, bottom, align)

  • x :一個(gè)標(biāo)量序列,代表柱狀圖的x坐標(biāo),默認(rèn)x取值是每個(gè)柱狀圖所在的中點(diǎn)位置,或者也可以是柱狀圖左側(cè)邊緣位置。
  • height: 一個(gè)標(biāo)量或者是標(biāo)量序列,代表柱狀圖的高度。
  • width: 可選參數(shù),標(biāo)量或類數(shù)組,柱狀圖的默認(rèn)寬度值為 0.8。
  • bottom: 可選參數(shù),標(biāo)量或類數(shù)組,柱狀圖的y坐標(biāo)默認(rèn)為None。
  • algin: 有兩個(gè)可選項(xiàng) {“center”,“edge”},默認(rèn)為 ‘center',該參數(shù)決定 x 值位于柱狀圖的位置。
  • bottom: 該參數(shù)可以指定柱狀圖開(kāi)始堆疊的起始值,一般從底部柱狀圖的最大值開(kāi)始,依次類推
  • yerr: 可選參數(shù), 這里針對(duì)垂直型誤差,以誤差棒的形式顯示

5 餅狀圖

餅狀圖用來(lái)顯示一個(gè)數(shù)據(jù)系列,具體來(lái)說(shuō),餅狀圖顯示一個(gè)數(shù)據(jù)系列中各項(xiàng)目的占項(xiàng)目總和的百分比。

可視化結(jié)果:

餅圖:左上玫瑰圖顯示兩層信息(外層標(biāo)簽和內(nèi)層比例分布)。

雷達(dá)圖:右上雷達(dá)圖形顯示,具有基于中心的值和基于徑向的變化。

代碼如下:

def test_pie():
 etiqueta = list('ABCDEFGHIJKL')
 M, N = 128, len(etiqueta)
 valor = np.random.random(N)*0.9 + 0.1
 var = np.random.random(M)
 # param
 cmapRadial = cm.get_cmap('magma')
 theta = 2*np.pi*np.arange(N)/N
 omega = 2*np.pi*np.arange(M)/M
 valor_ = np.append(valor, [valor[0]])
 var_ = np.append(var, [var[0]])
 theta_ = np.append(theta, [theta[0]])
 omega_ = np.append(omega, [omega[0]])
 raio = 1.25
 mult = 0.15
 # draw
 fig = plt.figure()
 axA = fig.add_subplot(121, aspect='equal')
 axB = fig.add_subplot(122, projection='polar') 
 # Pizza 
 axA.pie(valor, labels=etiqueta, pctdistance=0.9,autopct='%1.1f%%', radius=1.1)
 axA.pie(var, radius=0.9, colors=cmapRadial(var))
 axA.set_title('Pizza')
 centro = plt.Circle((0,0), 0.75, fc='white')
 axA.add_patch(centro) 
 # Radar
 axB.plot(theta_, valor_, marker='o', color='black', label='variable')
 axB.fill_between(theta_, 0, valor_, facecolor='black', alpha=0.25)
 axB.plot(omega_, raio + var_*mult, color='y', label='change')
 axB.plot(omega_, raio - var_*mult, color='y')
 axB.fill_between(omega_, raio - var_*mult, raio + var_*mult,facecolor='y', alpha=0.25)
 axB.set_title('Radar')
 axB.set_xticks(theta)
 axB.set_xticklabels(etiqueta)
 axB.set_rticks(np.linspace(0, 1.5, 7))
 axB.legend()
 plt.show()

函數(shù)說(shuō)明:

pie(x, labels=None, colors=None, autopct=None, pctdistance=0.6, labeldistance=1.1, radius=None)

  • x: 數(shù)組序列,數(shù)組元素對(duì)應(yīng)扇形區(qū)域的數(shù)量大小。
  • labels: 列表字符串序列,為每個(gè)扇形區(qū)域備注一個(gè)標(biāo)簽名字。
  • color : 為每個(gè)扇形區(qū)域設(shè)置顏色,默認(rèn)按照顏色周期自動(dòng)設(shè)置。
  • autopct :控制餅圖內(nèi)百分比設(shè)置,可以使用format字符串或者format function
    '%1.1f'指小數(shù)點(diǎn)前后位數(shù)(沒(méi)有用空格補(bǔ)齊)
  • labeldistance :label標(biāo)記的繪制位置,相對(duì)于半徑的比例,默認(rèn)值為1.1, 如<1則繪制在餅圖內(nèi)側(cè);
  • pctdistance :類似于labeldistance,指定autopct的位置刻度,默認(rèn)值為0.6;
  • radius :控制餅圖半徑,默認(rèn)值為1;

6 總結(jié)

本文詳細(xì)地介紹了使用matplotlib畫折線圖、散點(diǎn)圖、餅狀圖以及柱狀圖的樣例,并給出了相關(guān)可視化效果。

到此這篇關(guān)于如何使用matplotlib讓你的數(shù)據(jù)更加生動(dòng)的文章就介紹到這了,更多相關(guān)matplotlib數(shù)據(jù)更生動(dòng)內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部