簡體   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