python資料視覺化:matplotlib的簡單示例
阿新 • • 發佈:2019-02-14
超簡單示例(基本表格):
照常上最簡單直觀的程式碼:(demo1)
import matplotlib.pyplot as plt dot=[3,4,2,1] plt.plot(dot) plt.ylabel('The name of the Y axis') #可以忽略,只是用來標註表的資訊而已 plt.xlabel(' The name of the X axis') #可以忽略 plt.title("The name of the image's Theme") #可以忽略 plt.show() plt.savefig('hehe.jpg')
輸出:
還有一張叫做“haha.jpg”的圖片會儲存到當前專案的資料夾中。
輸出多張表格 / 控制線條顏色與樣式:
如果想要實現同時輸出多張表格的可以參照下面的部落格:(demo2)
注意:以上面的部落格為例子,不要每次使用了“plt.sca(ax1)”選擇了一張表格,就用一次plt.show(),不要重複寫三次plt.show(),你會發現只有第一張表格被打印出來,後面的都不會被打印出來。我們只需要在最後使用plt.show()。
其實我們不一定要用線條的,下面這條語句obsX是x軸的變數,obsY是y軸的,輸出的是散點圖。
plt.scatter(obsX, obsY, c='b', marker='.') # b代表顏色blue,後面那個是樣式,也可以選擇'x'或者'o'
圖的種類(直方圖,餅狀圖,氣泡圖):
比如直方圖:(demo3)
import numpy as np
import matplotlib.pyplot as plt
zf=[1,2,3]
plt.hist(zf)
#plt.hist(np.random.normal(size=100), bins=30)
plt.show()
輸出:
其餘的種類別的博主已經講的很好了~:(demo4)
動態圖(實時變化的圖):
一開始是因為想要監聽數值輸出才來接觸“資料視覺化”的,但是發現使用plt.show()完全就是死的....圖中的資料不能跟著程式變化。有人說是因為
python視覺化庫matplotlib有兩種顯示模式:
阻塞(block)模式和互動(interactive)模式
在Python Consol命令列中,預設是互動模式。而在python指令碼中,matplotlib預設是阻塞模式。
還好matplotlib是提供“互動”功能的。話不多說,上程式碼(非原創):
import numpy as np
import matplotlib.pyplot as plt
plt.axis([0, 100, 0, 1])
plt.ion()
for i in range(100):
y = np.random.random()
plt.scatter(i, y)
plt.pause(0.1)
輸出自行體會~
待更....