python - 使用 mplot3d 将数据绘制到盒子而不是金字塔中的方式
问题描述
所以我有一个值数组,我试图使用该plot_surface
命令绘制。具体来说,我有一个 30x30 数组,中间有一个,其他地方为零。当我绘制它时,这是我得到的:
但是,我希望将值表示为长方体。那可能吗?
谢谢
编辑:显示该图的代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
N=30
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = y = np.arange(0, N)
z = np.zeros((N,N))
z[15,15] = 1
X, Y = np.meshgrid(x, y)
ax.plot_surface(X, Y, z, cmap='YlOrBr')
plt.show(block=False)
解决方案
我认为 3D 条形图将提供您正在寻找的内容。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
N=30
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = y = np.arange(0, N)
z_bottom = np.zeros((N,N))
z_top = z_bottom.copy()
z_top[15,15] = 1
X, Y = np.meshgrid(x, y)
ax.bar3d(X.ravel(), Y.ravel(), z_bottom.ravel(), 1, 1, z_top.ravel())
plt.show(block=False)
如果您想使用颜色等,完整的文档在这里。
推荐阅读
- javascript - 通过 Firestore 中的特定字段值获取子集合
- if-statement - 我可以在 PyCharm 中使用“if”作为单词吗?
- python - 使用 psycopg2 将包含 JSON 数组字段的元组列表插入 Postgres 数据库
- arduino - ND没有回应。Zigbee 网格套件
- java - 在 Java 中使用复合赋值时,运算符的顺序是否重要?(+= 与 =+)
- java - org.hibernate.MappingException:无法确定自定义对象类型的类型
- api - 如何从 Instagram API 获取用户名?
- html - 加载网页时删除动画
- javascript - signIn 函数总是返回“错误信息”
- javascript - 关于如何自动化流程的问题