Python之数据分析(三维立体图像、极坐标系、半对数坐标)

写在前面:

import numpy as np
import matplotlib.pylab as mp
因此文章中的np就代表numpy库,mp就代表pylab绘图库

一、三维立体图像

  • 导入类:from mpl_toolkits.mplot3d import axes3d
  • 获得三维坐标轴:ax = mp.gca(projection=‘3d’)
1、三维线框
  • 格式:ax.plot_wireframe(x, y, z, rstride=行距, cstrid=列距, linewidth=线宽, color=颜色)
  • 测试代码:
import numpy as np
import matplotlib.pylab as mp
from mpl_toolkits.mplot3d import axes3d

n = 1000
# 栅格化:两组1000个-3到3的一维数组成x和y,会形成1000*1000个焦点的二维数组
x, y = np.meshgrid(np.linspace(-3, 3, n),
                   np.linspace(-3, 3, n))

# uniform:均匀分布,每个随机数概率一样在0.5和1.0之内产生n个随机数
y1 = (1 - x/n) * np.random.uniform(0.5, 1.0, n)  # (1 - x/n)为了方便显示
y2 = (1 - x/n) * np.random.uniform(0.5, 1.0, n)
z = (1 - x/2 + x**5 + y**3) * \
    np.exp(-x**2 - y**2)
# 换行做运算需要用\隔开,exp是底数为x指数是-x**2 - y**2


# 图像属性
mp.figure("3D Wireframe")

# 创建3D坐标轴
ax = mp.gca(projection='3d')

mp.title("3D Wireframe", fontsize=20)  # 图像标题

# X、Y、Z坐标轴文本
ax.set_xlabel('X', fontsize=14)
ax.set_ylabel('Y', fontsize=14)
ax.set_zlabel('Z', fontsize=14)

mp.tick_params(labelsize=10)  # 刻度标签大小

# 绘制三维线框图像
ax.plot_wireframe(x, y, z, rstride=30, cstride=30, linewidth=0.5, color='orangered')


mp.show()
  • 测试效果
    11
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙Next

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值