Python:matplotlib和mpl_toolkits.mplot3d的Axes3D.plot的问题

本文介绍了在使用matplotlib的mpl_toolkits.mplot3d.Axes3D.plot绘制3D曲线时遇到的类型错误问题。通过尝试将numpy数组转换为list或使用pandas DataFrame来组织数据,最终成功解决了ValueError并绘制出正确的3D曲线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按照https://bugxch.github.io/matplot-%E4%B9%8B-3D-%E7%BB%98%E5%9B%BE%E6%8C%87%E5%8D%97/

import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
 
mpl.rcParams['legend.fontsize'] = 10
 
fig = plt.figure()
ax = fig.gca(projection='3d')
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)
ax.plot(x, y, z, label='parametric curve')
ax.legend()

plt.show()

可是ax.plot填入三个坐标参数的时候,需注意参数的类型。

开始的时候:ax.plot(x, y, z),x,y,z均为'numpy.ndarray'类型,在运行时候总是报错:ValueError: input operand has more dimensions than allowed by the axis remapping,百思不得其解

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值