【问题标题】:Stack color on bar3d plot using python使用python在bar3d图上堆叠颜色
【发布时间】:2021-03-19 05:15:13
【问题描述】:

我正在尝试在 python 中使用 bar3d 命令绘制 4 列数据。

  • column1 - X
  • column2 - Y
  • column3 - Z
  • column4 - e

到目前为止,我能够绘制如图所示的三列数据:

现在,我想将第 4 列(“e”)堆叠为该图中的颜色。 有人可以推荐一种在 python 中执行此操作的方法。

代码:plot1 = ax.bar3d(X,Y,Z,dx,dy,dz)

提前致谢。

【问题讨论】:

  • 您好,欢迎来到 SO。您能否提供一个最小的工作示例?

标签: python bar-chart


【解决方案1】:

通常,您可以使用 colors = plt.cm.jet(your_4th_dimension) 并将其应用于您的绘图,如plot1 = ax.bar3d(X,Y,Z,dx,dy,dz, color= colors)。由于您没有提供数据,因此这是一个通用示例。在以下示例中,还创建了一个颜色条:

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10, 10))
ax = fig.gca(fc='white', projection='3d')
x = [i for i in range(10)]
y = [2*i + 3 for i in range(10)]
z = [i**2 for i in range(10)]
#fouth dimension:
fourth_dim = [2* i**2 for i in range(10)]
colors = plt.cm.jet(fourth_dim)
ax.bar3d(x, y, 0, 1, 1, z, color= colors)
#colorbar creation:
colorMap = plt.cm.ScalarMappable(cmap=plt.cm.rainbow_r)
colorMap.set_array(fourth_dim)
colBar = plt.colorbar(colorMap).set_label('fourth dimension')
ax.set_xlabel("time")
ax.set_ylabel("distance")
ax.set_zlabel("cost")
plt.show()

【讨论】:

    猜你喜欢
    • 2018-03-23
    • 2021-08-22
    • 1970-01-01
    • 2021-10-06
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 1970-01-01
    相关资源
    最近更新 更多