繁体   English   中英

使用mplot3d将数据绘制到盒子而不是金字塔中的方法

[英]Way of plotting data into boxes instead of pyramids using 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)

在此处输入图片说明

如果您想使用颜色等,请参阅完整的文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM