在Matplotlib 3D绘图中移动Z(垂直)轴的位置

本文详细介绍了如何使用Python的matplotlib库绘制一个三维曲面图,包括设置坐标范围、网格生成、Z轴值计算以及添加颜色图例。还展示了如何调整Z轴的位置到左侧以完成坐标轴的移动。
摘要由CSDN通过智能技术生成

首先绘制一个三维曲面

使用matplotlib绘制曲面步骤:

  1. 导入 matplotlib.pyplot 模块,并取别名为 plt

  2. 从 matplotlib.cm 模块导入 cm

  3. 导入 numpy 并取别名为 np

  4. 导入 mpl_toolkits.mplot3d.axes3d模块中的 get_test_data 函数。

  5. 创建一个图形对象 fig,设置尺寸为 12x12 英寸。

  6. 添加一个子图 ax,使用投影方式为 3D。

  7. 定义 X 轴的范围为 -5 到 5,步长为 0.25;定义 Y 轴的范围为 -5 到 5,步长为 0.25。通过调用 meshgrid 函数生成网格。

  8. 计算 R 的值,即 R = sqrt(X^2 + Y^2)。

  9. 计算 Z 的值,即 Z = sin(R)。

  10. 使用 plot_surface 方法在三维坐标系上绘制一个三维曲面图,传入 X、Y、Z 数据以及其他参数。

  11. 设置 Z 轴的取值范围为 -1.01 到 1.01。

  12. 使用 colorbar 方法添加一个颜色图例,shrink 参数控制图例尺寸,aspect 参数控制图例宽高比。

代码如下:

import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np

from mpl_toolkits.mplot3d.axes3d import get_test_data


fig = plt.figure(figsize=(12,12))

ax = fig.add_subplot(1, 1, 1, projection='3d')

# plot a 3D surface
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,
                       linewidth=0, antialiased=False)
ax.set_zlim(-1.01, 1.01)
fig.colorbar(surf, shrink=0.5, aspect=10)

代码运行结果 

调整z轴位置到左侧

ax1.zaxis._axinfo['juggled'] = (1,2,0)

 运行结果

 完成坐标轴的移动

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值