Python畫二維圖和三維圖
阿新 • • 發佈:2018-12-28
轉載地址1:https://blog.csdn.net/frankfrankflb/article/details/79338632
轉載地址2:https://jingyan.baidu.com/article/90bc8fc8ae31acf653640cd0.html
-
二維影象
from matplotlib import pyplot as plt import numpy as np low=lambda x:10000 if x>10000 else -10000 if x<-10000 else x f=lambda x:x**5#設計一個函式 start=-10 #輸入需要繪製的起始值(從左到右) stop=10 #輸入需要繪製的終點值 step=0.01#輸入步長 num=(stop-start)/step #計算點的個數 x = np.linspace(start,stop,num) y = f(x) for i in range(len(y)):#再應用一個low函式以防止函式值過大導致顯示錯誤(可選)#若函式無法直接應用到np陣列上可以使用for來逐個應用 y[i]=low(y[i]) z=y fig=plt.figure(figsize=(6,6))#建立一個物件並設定窗體的大小,使其為正方形,好看 #注意 可以建立多個物件,但plt指令只會對最後一個指定的物件進行操作(檢視過原始碼了) plt.plot(x, y,label='First Curve')#在當前的物件上進行操作 plt.grid(True)#顯示網格 plt.axis("equal")#設定了x、y刻度長度一致#需要放在x、ylim指令前 plt.xlim((-10, 10))#顯示的x的範圍(不設定則由程式自動設定) plt.ylim((-10, 10))#顯示的y的範圍 plt.plot([2*min(x),2*max(x)], [0,0],label='x-axis')#用定義域最長距離的兩倍作出x軸 plt.plot([0,0],[2*min(y),2*max(y)],label='y-axis')#用值域最長距離的兩倍作出y軸 plt.legend()#顯示旁註#注意:不會顯示後來再定義的旁註 plt.show(fig)#沒有輸入值預設展示所有物件 #注意:plt.show()之後再次使用plt.show()指令將不會展示任何物件,若想再次展示物件,可以對物件使用fig.show()
三維影象
from matplotlib import pyplot as plot #用來繪製圖形 import numpy as np #用來處理資料 from mpl_toolkits.mplot3d import Axes3D #用來給出三維座標系。 figure = plot.figure() #畫出三維座標系: axes = Axes3D(figure) X = np.arange(-10, 10, 0.25) Y = np.arange(-10, 10, 0.25) #限定圖形的樣式是網格線的樣式: X, Y = np.meshgrid(X, Y) Z = 3*(X)**2 + 2*(Y)**2 + 5 #繪製曲面,採用彩虹色著色: axes.plot_surface(X, Y, Z,cmap='rainbow') #圖形視覺化: plot.show()