Python画二维图和三维图

转载地址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()

猜你喜欢

转载自blog.csdn.net/u010916338/article/details/84969807