matplotlib 如何修复matplotib不兼容

fquxozlt  于 2023-01-09  发布在  其他
关注(0)|答案(2)|浏览(294)

我需要可视化一个立方体,于是决定使用matplotib for python。
由于某种原因,代码拒绝正常运行。我试用了GeeksForgeeks和Matplotlib文档示例中的代码,两者都不起作用。
是否存在兼容性问题或我做错了什么?
例如此代码(来自geeksforgeks):

# Import libraries
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# Create axis
axes = [5, 5, 5]

# Create Data
data = np.ones(axes, dtype=np.bool)

# Control Transparency
alpha = 0.9

# Control colour
colors = np.empty(axes + [4], dtype=np.float32)

colors[0] = [1, 0, 0, alpha]  # red
colors[1] = [0, 1, 0, alpha]  # green
colors[2] = [0, 0, 1, alpha]  # blue
colors[3] = [1, 1, 0, alpha]  # yellow
colors[4] = [1, 1, 1, alpha]  # grey

# Plot figure
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# Voxels is used to customizations of
# the sizes, positions and colors.
ax.voxels(data, facecolors=colors, edgecolors='grey')

输出:

C:\Users\User\Desktop\Cube visualization\cube.py:10: FutureWarning: In the future `np.bool` will be defined as the corresponding NumPy scalar.  (This may have returned Python scalars in past versions.
  data = np.ones(axes, dtype=np.bool)
Traceback (most recent call last):
  File "C:\Users\User\Desktop\Cube visualization\cube.py", line 10, in <module>
    data = np.ones(axes, dtype=np.bool)
                               ^^^^^^^
  File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\numpy\__init__.py", line 284, in __getattr__
    raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'bool'. Did you mean: 'bool_'?

Process finished with exit code 1

我使用的是Python的最新版本,刚刚使用python -m pip install -U matplotlib安装了matplotib

tquggr8v

tquggr8v1#

np.bool很久以前就被弃用了,最近被删除了,取而代之的是内置的bool,所以只需将np.bool更改为bool
“教程”站点几乎总是过时的,因为没有人在修订它们,所以您应该查看matplotlibnumpy的官方文档,例如cube documentation
您还在代码末尾缺少一个plt.show()

ep6jt1vc

ep6jt1vc2#

我已经投票赞成艾哈迈德的答案,但我忍不住张贴结果的图像。


,当然,它是使用data = np.ones(axes, dtype=bool)代替data = np.ones(axes, dtype=np.bool)获得的(以及其他技巧,与OP问题无关)。

相关问题