Python中bar3d所需的参数

24 投票
1 回答
23037 浏览
提问于 2025-04-18 13:14

我想用Python制作一个3D柱状图,发现了一个叫做bar3d的函数。这里有一个文档链接

但是我不太明白需要给bar3d传递哪些值,文档里只提到了一些格式要求。我在网上和StackOverflow上找到了一些例子,但这些并没有帮助我搞清楚每个参数代表什么信息。

基本上,这是我的函数:

bar3d(x, y, z, dx, dy, dz, color='b', zsort='average', *args, **kwargs)

我不明白x, y, zdx, dy, dz分别代表什么。有人能帮我一下吗?

1 个回答

35

xyzdxdydz 是一些迭代器。它们分别表示每个柱子的 xyz 位置,而 dxdydz 则表示柱子的宽度、深度和高度(也就是在 xyz 方向上的尺寸)。需要注意的是,x 是水平轴,y 是深度轴,z 是垂直轴。

比如说,如果有三根柱子,分别高度为 5、4 和 7,可以这样画出来:

x = [1, 2, 3]  # x coordinates of each bar
y = [0, 0, 0]  # y coordinates of each bar
z = [0, 0, 0]  # z coordinates of each bar
dx = [0.5, 0.5, 0.5]  # Width of each bar
dy = [0.5, 0.5, 0.5]  # Depth of each bar
dz = [5, 4, 7]        # Height of each bar

这三根柱子的宽度和深度都是一样的。

color 可以是一个字符串,用来描述所有柱子的颜色,或者是一个字符串列表,如果你想让每根柱子的颜色都不一样。

我觉得 zsort 可能和 matplotlib 处理重叠的方式有关,但这只是我的猜测。

撰写回答