1 import numpy as np 2 import pandas as pd 3 import matplotlib.pyplot as plt 4 from pandas import Series,DataFrame
固然,在真正作事情時要根據本身的要求來導入,這裏爲了示例要導入numpy和pandas。python
1 x = np.linspace(0,2*np.pi,100) # 設置橫軸變量,從0到2*pi,均分爲100份 2 y = np.sin(x) # 因變量取值 3 4 plt.plot(x,y,'b*',label='aaa') # 'b*'表示藍色*狀線,label是指定義圖例 5 plt.plot(x*2,y,'r--',label='bbb') # 'r--'表示紅色虛線, 6 plt.xlabel('this is x') # 設置橫軸標籤 7 plt.ylabel('this is y') # 設置縱軸標籤 8 plt.title('this is title') # 設置標題 9 plt.legend() # 顯示上面定義的圖例 10 plt.show() # 展現圖像
這樣一個簡單的繪圖就出來了,這裏面有兩個圖形,位於一塊畫布上,還介紹了一些標籤的設置。dom
1 plt.subplot(2,1,1) # 子圖,(2,1,1)表明,建立2*1的畫布,而且定位於畫布1 ;等效於plt.subplot(211),即去掉逗號 2 3 a = plt.subplots() # 返回兩個對象 figure ax 4 figure,ax = plt.subplots() 5 ax.plot([1,2,3,4,5]) 6 plt.show() # 顯示圖像 7 8 # subplots能夠傳入參數,幾行幾列 9 figure,ax = plt.subplots(2,2) 10 # figure 顯示畫布,分紅2*2的 11 ax[0][0].plot(x,y) 12 ax[0][1].plot(x*2,y*2) # 能夠分別繪圖
先介紹幾個經常使用的參數:函數
plt.legend() # 顯示圖例,這個上面提到過,沒有這個,設置了圖例也是不會顯示出來的this
1 # 這是一個小栗子 2 s1 = Series(np.random.randint(1000).cumsum()) # 建立series,cumsum()是指疊加求和,本位數是前幾項之和 3 s1.plot() # series有本身的plot函數,裏面能夠寫入想要的參數
1 df = DataFrame( 2 np.random.randint(1,10,40).reshape(10,4), 3 columns=['A','B','C','D'] 4 ) 5 df.plot() # dataframe也有本身的plot,按列畫出來,參數包含ax,選擇輸出的畫布 6 # 參數:stacked=True,表示一個堆疊的狀況,同一個index下,columns一不一樣顏色疊在一塊兒
一、能夠取其一行或幾行來畫圖,即將dataftame橫過來畫:
一行:df.iloc[5].plot() # iloc是pandas裏面的一個能夠說是切片的命令
多行或所有:for i in df.index:
df.iloc[i].plot(label=str[i])
plt.legend()
二、對列畫圖:
df['A'].plot()spa
三、對行繪圖還有簡便方法:
就是對df進行轉置,而後再plot ,df.T.plot()code
1 # 直方圖 2 s = Series(np.random.randn(1000)) 3 plt.hist(s,rwidth=0.9) # 直方圖,rwidth爲設置寬度 4 plt.show() 5 # hist()的參數:rwidth爲寬度;bins=20表示顯示的區間,默認是10份;color='r'設置顏色;
1 # 密度圖 2 s.plot(kind='kde') # kind='kde'即表示密度圖
今天就大概先總結這些,博主也是初學者,若有不足,請多多指教,但願能夠給一些朋友帶來幫助,如若以爲我說的太少了,能夠查看官方文檔https://matplotlib.org/。對象
做者:漁單渠blog