admin管理员组文章数量:1122866
PY
1.二维平面函数绘图
1.基础版(y=x^2)
#抛物线
import numpy as np
import matplotlib.pyplot as plt #导入matplotlib库x = np.arange(-100,100,0.1) #x步长为0.1
y = x**2plt.xlim(-12,12) #设置x、y坐标轴的范围
plt.ylim(0, 100)plt.plot(x,y)plt.show()
2.添加画布和坐标轴箭头
import numpy as np
import matplotlib.pyplot as plt #导入matplotlib库
import mpl_toolkits.axisartist as axisartistfig = plt.figure(figsize=(8, 8)) #创建画布
ax = axisartist.Subplot(fig, 111) #使用axisartist.Subplot方法创建一个绘图区对象ax
fig.add_axes(ax) #将绘图区对象添加到画布中ax.axis[:].set_visible(False) #通过set_visible方法设置绘图区所有坐标轴隐藏ax.axis["x"] = ax.new_floating_axis(0,0) #ax.new_floating_axis代表添加新的坐标轴
ax.axis["x"].set_axisline_style("->", size = 1.0) #给x坐标轴加上箭头ax.axis["y"] = ax.new_floating_axis(1,0) #添加y坐标轴,且加上箭头
ax.axis["y"].set_axisline_style("-|>", size = 1.0)ax.axis["x"].set_axis_direction("top") #设置x、y轴上刻度显示方向
ax.axis["y"].set_axis_direction("right")x = np.arange(-100,100,0.1) #x步长为0.1
y = x**2
plt.xlim(-12,12) #设置x、y坐标轴的范围
plt.ylim(0, 100)
plt.plot(x,y)
plt.show()
2.三维函数绘图
参考链接:
3d绘图汇总:.html
figure语法说明:
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
- num:图像编号或名称,数字为编号 ,字符串为名称
- figsize:指定figure的宽和高,单位为英寸; dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为801英寸等于2.5cm,A4纸是 21*30cm的纸张 facecolor:背景颜色 edgecolor:边框颜色
- frameon:是否显示边框
plt、fig、axes、axis的含义:
1.基础版(z = x^2 + y^2)
import numpy as np
import matplotlib.pyplot as pltx = np.arange(-10,10,0.2)
y = np.arange(-10,10,0.2)
z = np.power(x,2)+np.power(y,2) #z = x**2 + y**2fig = plt.figure() #生成一个figure画布
ax = plt.axes(projection='3d') #创建3d绘图区域
ax.plot(x,y,z)
plt.show()
3.建立几何模型
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d# print("请输入a1:")
a1 = 1
# print("请输入b1:")
b1 = 2u = np.linspace(0, np.pi, 256, endpoint=True)
v = np.linspace(0, 2 * np.pi, 256, endpoint=True)
u, v = np.meshgrid(u, v)def x(u, v):return a1 * np.sin(u) * np.cos(v)def y(u, v):return a1 * np.sin(u) * np.sin(v)def z(u):return b1 * np.cos(u)# x = a1*np.sin(u)*np.cos(v)
# y = a1*np.sin(u)*np.sin(v)
# z = b1*np.cos(u)x = x(u, v)
y = y(u, v)
z = z(u)fig = plt.figure() # 生成一个figure画布
ax = plt.axes(projection='3d') # 创建3d绘图区域
plt.gca().set_box_aspect((a1, a1, b1)) # 当x、y、z轴范围之比为3:5:2时。
ax.plot_wireframe(x, y, z)
ax.set_title('tuoqiu')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
.interpolate.griddata.html
本文标签: PY
版权声明:本文标题:PY 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1686528325a6263.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论