中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
python數(shù)據(jù)分析之:繪圖和可視化

在數(shù)據(jù)分析領(lǐng)域,最出名的繪圖工具就是matlib。在Python同樣有類似的功能。就是matplotlib。前面幾章我們都在介紹數(shù)據(jù)的生成,整理,存儲。那么這一章將介紹如果圖形化的呈現(xiàn)這些數(shù)據(jù)。來看下面的代碼

這個代碼通過numpy生成50個隨機數(shù),然后進行求和,最后將50個數(shù)繪制成圖像,k--代表以虛線的方式

import matplotlib.pyplot as plt

from numpy.random import randn

if __name__=="__main__":

    plt.plot(randn(50).cumsum(),'k--')

plt.show()

得到的圖片如下

我們還可以在一副圖中顯示多個圖片。

fig=plt.figure()

ax1=fig.add_subplot(2,2,1)

ax2=fig.add_subplot(2,2,2)

ax3=fig.add_subplot(2,2,3)

ax4=fig.add_subplot(2,2,4)

plt.show()

matplotlib的圖像都位于Figure對象中,通過fig.add_subplot可以創(chuàng)建多個圖片。比如fig.add_subplot(2,2,1)代表總共4個圖像,1代表為第1個圖像。那么這樣我們就可以繪制多個圖像,每個圖像用不同的方式來呈現(xiàn)

    fig=plt.figure()

    ax1=fig.add_subplot(2,2,1)

    ax2=fig.add_subplot(2,2,2)

    ax3=fig.add_subplot(2,2,3)

    ax4=fig.add_subplot(2,2,4)

    ax1.plot(randn(50).cumsum(), 'k--')

    ax2.hist(randn(50).cumsum())

    ax3.scatter(np.arange(30),np.arange(30)+3*randn(30))

    ax4.plot(randn(50).cumsum())

plt.show()

下面張圖分別繪制了4種圖形。

subplots的參數(shù)如下

我們還可以針對subplot調(diào)整各個圖的間距,通過subplots_adjust就可以達到

下面的代碼通過創(chuàng)造4個圖像,且共享x,y坐標軸。通過wspacehsapce設(shè)置為0,將各個圖像的左右,上下邊界都連接在了一起。

    fig,axis=plt.subplots(2,2,sharex=True,sharey=True)

    [axis[i,j].hist(randn(50),bins=50,color='k',alpha=0.5) for i in range(2) for j in range(2)]

    plt.subplots_adjust(wspace=0, hspace=0)

    plt.show()

結(jié)果如下:

前面介紹了如何作圖,下面將對圖片進行更細化的操作,設(shè)置x,y軸的刻度以及設(shè)置圖片標題。在下面的代碼中,設(shè)置x的刻度為0,10,25,40,50幾個區(qū)間并設(shè)置圖片的標題為test

    fig=plt.figure()

    ax=fig.add_subplot(1,1,1)

    ax.plot(randn(50).cumsum(),'k',label='one')

    ax.set_xticks([0,10,25,40,50])

    ax.set_title("test")

plt.show()

結(jié)果如下:

還可以通過ax.text(x,y,"2010")的方式對圖標上的某一點坐標進行文本標注

比如ax.text(0,0,"2010")就在0,0的坐標上標注2010的樣式

既然生成了圖片,那么該如何保存呢通過savefig的方式就可以進行保存,通過指定不同的圖片后綴名就可以進行文件的保存。

plt.savefig("figure.svg")

plt.savefig("figure.jpg")

plt.savefig("figure.png")

 

pandas中的繪圖函數(shù):

前面介紹了matplotlib中的繪圖方法,這一章將介紹pandas中繪圖方法。代碼如下

首先通過Series產(chǎn)生數(shù)據(jù),然后Series對象的索引會被傳遞給matplotlib用于繪制X

s=Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))

s.plot(color='k',alpha=0.7)

plt.title('pandas test')

plt.show()

結(jié)果如下所示:

接下來看下DataFrame的結(jié)果圖:

d=DataFrame(np.random.randn(10,4).cumsum(0),columns=['A','B','C','D'],index=np.arange(0,100,10))

d.plot()

plt.show()

結(jié)果如下:

通過上圖可以看到DataFrameplot方法會在一個subplot中為各列繪制一條線,并自動創(chuàng)建圖例。

Series.plot方法的參數(shù):

DataFrameplot參數(shù)

plot中通過指定kind可以生成不同的圖形,比如kind=’bar’就是生成柱狀圖

我們在來看下下面的這組數(shù)據(jù),通過設(shè)置stacked=True即可為DataFrame生成堆積柱狀圖,這樣可以使得每行的值就會被堆積在一起。

frame=DataFrame([[1,16,1,1,0,0],[2,53,18,13,1,0],[0,39,15,18,3,1],[1,48,4,5,1,3]],columns=[1,2,3,4,5,6],index=['Fri','Sat','Sun','Thur'])

frame.index.name=['day']

frame.columns.names=['size']

print frame

frame.plot(kind='barh',stacked=True)

plt.show()

數(shù)據(jù)如下:該數(shù)據(jù)的列表示人的索引。行代表是天數(shù)。這個數(shù)據(jù)的意義在與指示每個人在從周四到周日的消費情況

size   1   2   3   4  5  6

[day]                     

Fri    1  16   1   1  0  0

Sat    2  53  18  13  1  0

Sun    0  39  15  18  3  1

Thur   1  48   4   5  1  3

通過下面得到的結(jié)果來看,我們可以看到在周末的時候消費明顯增加。

密度圖:

密度圖也成為kde圖,這個圖是生成標準正態(tài)分布圖

s=Series(np.random.randn(20))

s.plot(kind='kde')

plt.show()

得到的正態(tài)分布圖如下:

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
利用Python進行數(shù)據(jù)分析 繪圖和可視化(八)
純干貨:手把手教你用Python做數(shù)據(jù)可視化(附代碼)
用Python模擬隨機游走(Random walks)
學習pandas下的dataframe畫圖參數(shù)
信號處理之倒頻譜原理與python實現(xiàn)
matplotlib.pyplot中繪畫操作
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服