python數據可視化plt庫實例詳解
先看下jupyter和pycharm環境的差別
左邊是jupyter———————————————————-右邊是pycharm
以下都是使用pycharm環境
1.一個窗口畫出一個線性方程
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列 print(x) y = 2*x plt.plot(x,y) plt.show()
2.兩個窗口分別畫出一個線性方程
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列 y1 = 2*x y2 = 3*x # 一個figure就是一個窗口 plt.figure() plt.plot(x,y1) # 一個figure就是一個窗口 plt.figure() plt.plot(x,y2) # 顯示 plt.show()
3.一個窗口畫出兩個線性方程
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列 y1 = 2*x y2 = 3*x # 一個figure就是一個窗口 plt.figure() plt.plot(x,y1) plt.plot(x,y2) # 顯示 plt.show()
4.定義畫圖的樣式
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列 y = 2*x # 一個figure就是一個窗口 plt.figure(num=1) plt.plot(x,y) plt.figure(num=2) # color是線條的顏色 plt.plot(x,y,color='red') plt.figure(num=3) # linestyle 是線條的樣式 plt.plot(x,y,linestyle='--') plt.figure(num=4) # linewidth 是線條的寬度 plt.plot(x,y,linewidth=3) # 顯示 plt.show()
5.設置xy軸的范圍,標簽,刻度
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列 y = 2*x plt.figure(num=1)# 這裡是figure1 plt.plot(x,y) plt.figure(num=2)# 這裡是figure2 plt.plot(x,y) plt.xlim(0,3)# 設置x軸范圍 plt.ylim(0,3)# 設置y軸范圍 plt.xlabel('this is x')# 設置x軸標簽 plt.ylabel('this is y')# 設置y軸標簽 plt.figure(num=3)# 這裡是figure3 plt.plot(x,y) # 設置x軸刻度 x_ticks = np.linspace(1,3,3) plt.xticks(x_ticks) plt.figure(num=4)# 這裡是figure4 plt.plot(x,y) plt.ylim(0,3)# 設置y軸范圍 plt.yticks([1,2],['bad','good'])# 設置y軸刻度 # 顯示 plt.show()
6.設置圖例
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,1,11)# 從0到1,個數為11的等差數列 y1 = 2*x y2 = 3*x plt.figure() plt.plot(x,y1,label='y1') plt.plot(x,y2,label='y2') plt.legend() # 顯示 plt.show()
7.散點圖
import numpy as np import matplotlib.pyplot as plt x = np.random.randint(0,50,1024) y = np.random.randint(0,50,1024) plt.scatter(x,y,s=20) # 隱藏 x 軸刻度 plt.xticks(()) # 顯示 plt.show()
8.柱狀圖
import numpy as np import matplotlib.pyplot as plt n = 6 x = np.arange(n) print(x) # 生成6個數,這6個數在0到1正態分佈 y = np.random.uniform(0,1,n) print(y) plt.bar(x,y) # 顯示 plt.show()
9.柱狀圖顯示高度
import numpy as np import matplotlib.pyplot as plt n = 6 X = np.arange(n) Y = np.random.uniform(0,1,n) plt.figure(num=1) plt.bar(X,Y) for x,y in zip(X,Y): plt.text(x,y,y) plt.figure(num=2) plt.bar(X,Y) for x,y in zip(X,Y): plt.text(x,y,"%.2f"%y) plt.figure(num=3) plt.bar(X,Y) for x,y in zip(X,Y): plt.text(x,y,"%.2f"%y,ha='center') plt.figure(num=4) plt.bar(X,Y) for x,y in zip(X,Y): plt.text(x,y+0.01,"%.2f"%y,ha='center') # 顯示 plt.show()
10.等高線圖
import numpy as np import matplotlib.pyplot as plt def f(X,Y): return X+Y n = 256 x = np.linspace(0,3,n) y = np.linspace(0,3,n) X,Y=np.meshgrid(x,y) plt.figure() plt.contourf(X,Y,f(X,Y),4,cmap=plt.cm.hot) plt.figure() plt.contourf(X,Y,f(X,Y),9,cmap=plt.cm.hot) plt.figure() plt.contourf(X,Y,f(X,Y),9,cmap=plt.cm.hot) plt.contour(X,Y,f(X,Y),9) plt.figure() plt.contourf(X,Y,f(X,Y),9,cmap=plt.cm.hot) C = plt.contour(X,Y,f(X,Y),9) plt.clabel(C,inline=True) # 顯示 plt.show()
11.一個窗口多個子圖
import matplotlib.pyplot as plt plt.figure() # 兩行兩列的第一個位置,不加逗號也可以 plt.subplot(2,2,1) plt.plot([0,1],[0,1]) # 兩行兩列的第二個位置,不加逗號也可以 plt.subplot(2,2,2) plt.plot([0,2],[0,2]) # 兩行兩列的第三個位置,不加逗號也可以 plt.subplot(223) plt.plot([0,3],[0,3]) # 兩行兩列的第四個位置,不加逗號也可以 plt.subplot(224) plt.plot([0,4],[0,4]) plt.figure() # 兩行兩列的第一個位置,不加逗號也可以 plt.subplot(2,1,1) plt.plot([0,1],[0,1]) # 兩行兩列的第二個位置,不加逗號也可以 plt.subplot(2,3,4) plt.plot([0,2],[0,2]) # 兩行兩列的第三個位置,不加逗號也可以 plt.subplot(235) plt.plot([0,3],[0,3]) # 兩行兩列的第四個位置,不加逗號也可以 plt.subplot(236) plt.plot([0,4],[0,4]) # 顯示 plt.show()
12.常用子圖顯示
plt.figure(figsize=(20,10)) for i in range(40): plt.subplot(4,10,i+1) plt.xticks() plt.yticks() plt.grid(False) plt.imshow(train_images[i],cmap=plt.cm.binary_r) plt.title(train_labels[i]) plt.show()
13.格子佈局放置子圖
import matplotlib.pyplot as plt plt.figure() # 三行三列的佈局,從0行0列開始,占一行三列 ax1 = plt.subplot2grid((3,3),(0,0),colspan=3,rowspan=1) ax1.plot([0,1],[0,1]) ax1.set_title('this is ax1') # 三行三列的佈局,從1行0列開始,占一行兩列 ax2 = plt.subplot2grid((3,3),(1,0),colspan=2,rowspan=1) # 三行三列的佈局,從1行2列開始,占兩行一列 ax3 = plt.subplot2grid((3,3),(1,2),colspan=1,rowspan=2) # 三行三列的佈局,從2行0列開始,占一行一列 ax4 = plt.subplot2grid((3,3),(2,0),colspan=1,rowspan=1) # 三行三列的佈局,從2行1列開始,占一行一列 ax5 = plt.subplot2grid((3,3),(2,1),colspan=1,rowspan=1) # 顯示 plt.show()
以上就是python可視化數據plt庫實例的詳細內容,更多關於python可視化數據plt庫的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Python Matplotlib繪圖基礎詳細教程
- 基於python,Matplotlib繪制函數的等高線與三維圖像
- Python Matplotlib數據可視化模塊使用詳解
- 利用python繪制線型圖
- Python Matplotlib 實現3D繪圖詳解