I have a very simple basic bar's graphic like this one
but i want to display the bars with some 3d effect, like this
我只是希望这些条具有 3d 效果...我的代码是:
fig = Figure(figsize=(4.6,4))
ax1 = fig.add_subplot(111,ylabel="Valeur",xlabel="Code",autoscale_on=True)
width = 0.35
ind = np.arange(len(values))
rects = ax1.bar(ind, values, width, color='#A1B214')
ax1.set_xticks(ind+width)
ax1.set_xticklabels( codes )
ax1.set_ybound(-1,values[0] * 1.1)
canvas = FigureCanvas(fig)
response = HttpResponse(content_type='image/png')
canvas.print_png(response)
我一直在看 matplotlib 的画廊,尝试了一些东西,但我并不幸运,有什么想法吗?谢谢
我当然理解您需要 3D 条形图的原因;我怀疑这就是创建它们的原因。
Matplotlib 中创建 3D 绘图所需的库(“工具包”)是not第三方库等,而是它们包含在基本 Matplotlib 安装中。
(对于当前的稳定版本 1.0 来说确实如此,尽管我不相信它是针对 0.98 的,所以从“附加组件”到基本安装的一部分的变化是在过去一年内发生的,我相信)
所以你在这里:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as PLT
import numpy as NP
fig = PLT.figure()
ax1 = fig.add_subplot(111, projection='3d')
xpos = NP.random.randint(1, 10, 10)
ypos = NP.random.randint(1, 10, 10)
num_elements = 10
zpos = NP.zeros(num_elements)
dx = NP.ones(10)
dy = NP.ones(10)
dz = NP.random.randint(1, 5, 10)
ax1.bar3d(xpos, ypos, zpos, dx, dy, dz, color='#8E4585')
PLT.show()
要在 Matplotlib 中创建 3d 条形图,您只需要做三件事(附加):
import Axes3D来自 mpl_toolkits.mplot3d
-
打电话给bar3d方法(在我的脚本中,它是由ax1Axes 类的实例)。方法签名:
bar3d(x, y, z, dy, dz, color='b', zsort="average", *args, **kwargs)
向 add_subplot 传递一个附加参数,投影='3d'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)