小韩哈哈 发表于 2023-1-23 21:09:10

代码应该是没问题,为什么加载不出来3D图呢

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
import numpy as np
fig = plt.figure()
axes3d = Axes3D(fig)
zs =
for z in zs:
    x = np.arange(0, 10)
    y = np.random.randint(0, 30, size=10)
    axes3d.bar(x, y, zs=z, zdir='x', color=['r', 'green', 'yellow', 'c'])
plt.show()

代码如上但是显示出来的是一片空白

chinajz 发表于 2023-1-23 21:09:11

本帖最后由 chinajz 于 2023-1-24 07:49 编辑

修改了一下,看是否符合你的想法:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
# 把画布分为1行1列,从左往右从上往下第1块区域
# 表示“1×1网格,第一子图”   调用Axes3d
axes3d = fig.add_subplot(111, projection='3d')
# 设置Z轴坐标值,让每一个直方图间隔距离为5
zs =
for z in zs:
    # 在0-10中取出值(取头不取尾)
    x = np.arange(0, 10)
    # 随机在0-30取出10个值
    y = np.random.randint(0, 30, size=10)
    # zdir将哪个方向用作z('x','y'或'z'),指定颜色
    axes3d.bar(x, y, zs=z, zdir='x', color=['red', 'green', 'yellow', 'c'])
    # print(x,y,zs)
plt.show()

ba21 发表于 2023-1-23 21:22:00

我这是可以的。看看是不是你模块版本问题

chinajz 发表于 2023-1-24 07:54:03

小韩哈哈 发表于 2023-1-24 11:04:04

chinajz 发表于 2023-1-23 23:44
修改了一下,看是否符合你的想法:

大佬可以说说我的问题在哪里嘛

小韩哈哈 发表于 2023-1-24 11:08:49

ba21 发表于 2023-1-23 21:22
我这是可以的。看看是不是你模块版本问题

pip install —upgrade matplotlib 显示已满足要求

小韩哈哈 发表于 2023-1-24 11:17:31

ba21 发表于 2023-1-23 21:22
我这是可以的。看看是不是你模块版本问题

好像是因为,ax=Axes3D(fig)在3.4版本就被弃用了

小韩哈哈 发表于 2023-1-24 11:18:30

chinajz 发表于 2023-1-23 21:09
修改了一下,看是否符合你的想法:

解决了谢谢大佬
页: [1]
查看完整版本: 代码应该是没问题,为什么加载不出来3D图呢