使用Python繪制圖表大全

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

每日乾貨好文分享丨請點擊+關注

歡迎關注天善智能微信公眾號,我們是專注於商業智能BI,大數據,數據分析領域的垂直社區。

對商業智能BI、數據分析挖掘、大數據、機器學習,python,R感興趣的加微信:tsbeidou,邀請你進入交流群,數據愛好者們都在這兒。

在使用Python繪制圖表前,我們需要先安裝兩個庫文件numpy和matplotlib。

Numpy是Python開源的數值計算擴展,可用來存儲和處理大型矩陣,比Python自身數據結構要高效;matplotlib是一個Python的圖像框架,使用其繪制出來的圖形效果和MATLAB下繪制的圖形類似。

下面我通過一些簡單的代碼介紹如何使用 Python繪圖。

一、圖形繪制

使用Python繪制圖表大全

直方圖

importmatplotlib.pyplotasplt

importnumpyasnp

mu=100

sigma=20

x=mu+sigma*np.random.randn(20000)# 樣本數量

plt.hist(x,bins=100,color=’green’,normed=True)# bins顯示有幾個直方,normed是否對數據進行標準化

plt.show()

條形圖

importmatplotlib.pyplotasplt

importnumpyasnp

y=[20,10,30,25,15]

index=np.arange(5)

plt.bar(left=index,height=y,color=’green’,width=0.5)

plt.show()

折線圖

importmatplotlib.pyplotasplt

importnumpyasnp

x=np.linspace(-10,10,100)

y=x**3

plt.plot(x,y,linestyle=’–‘,color=’green’,marker='<‘)

plt.show()

散點圖

importmatplotlib.pyplotasplt

importnumpyasnp

x=np.random.randn(1000)

y=x+np.random.randn(1000)*0.5

plt.scatter(x,y,s=5,marker='<‘)# s表示面積,marker表示圖形

plt.show()

餅狀圖

importmatplotlib.pyplotasplt

importnumpyasnp

labels=’A’,’B’,’C’,’D’

fracs=[15,30,45,10]

plt.axes(aspect=1)#使x y軸比例相同

explode=[0,0.05,0,0]# 突出某一部分區域

plt.pie(x=fracs,labels=labels,autopct=’%.0f%%’,explode=explode)#autopct顯示百分比

plt.show()

箱形圖

主要用於顯示數據的分散情況。圖形分為上邊緣、上四分位數、中位數、下四分位數、下邊緣。外面的點時異常值

importmatplotlib.pyplotasplt

importnumpyasnp

np.random.seed(100)

data=np.random.normal(size=(1000,4),loc=0,scale=1)

labels=[‘A’,’B’,’C’,’D’]

plt.boxplot(data,labels=labels)

plt.show()

二、圖像的調整

1、23種點形狀

“.”point”,”pixel”o”circle”v”triangle_down

“^”triangle_up”<“triangle_left”>”triangle_right”1″tri_down

“2”tri_up”3″tri_left”4″tri_right”8″octagon

“s”square”p”pentagon”*”star”h”hexagon1″H”hexagon2

“+”plus”x”x”D”diamond”d”thin_diamond

2、8種內建默認顏色的縮寫

b:blueg:greenr:redc:cyan

m:magentay:yellowk:blackw:white

3、4種線性

– 實線 –虛線 -.點劃線 :點線

4、一張圖上繪制子圖

使用Python繪制圖表大全

importmatplotlib.pyplotasplt

importnumpyasnp

x=np.arange(1,100)

plt.subplot(221)#2行2列第1個圖

plt.plot(x,x)

plt.subplot(222)

plt.plot(x,-x)

plt.subplot(223)

plt.plot(x,x*x)

plt.subplot(224)

plt.plot(x,np.log(x))

plt.show()

5、生成網格

使用Python繪制圖表大全

importmatplotlib.pyplotasplt

importnumpyasnp

y=np.arange(1,5)

plt.plot(y,y*2)

plt.grid(True,color=’g’,linestyle=’–‘,linewidth=’1’)

plt.show()

6、生成圖例

使用Python繪制圖表大全

importmatplotlib.pyplotasplt

importnumpyasnp

x=np.arange(1,11,1)

plt.plot(x,x*2)

plt.plot(x,x*3)

plt.plot(x,x*4)

plt.legend([‘Normal’,’Fast’,’Faster’])

plt.show()

本文來源自天善社區博客,轉載請保留以下內容:

本文作者:天善社區博客 超人Python

原文鏈接:https://ask.hellobi.com/blog/pythoncrawl/6195

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!