【问题标题】:How do I get the color scale used in the colormap for 4D plot Matplotlib [duplicate]如何获得用于 4D 绘图 Matplotlib 的颜色图中的色标 [重复]
【发布时间】:2017-02-21 18:55:17
【问题描述】:

我有一个 4D 绘图:

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm

x = np.arange(100)/ 101
y = np.sin(x) + np.cos(x)
X,Y = np.meshgrid(x,y)
Z = (X**2) / (Y**2)
A = np.sin(Z)

fig = plt.figure()
ax = fig.add_subplot(111,projection= '3d' )
ax.plot_surface(X,Y, Z, facecolors=cm.Oranges(A))
plt.show()

输出图像

但是如何查看颜色图的比例?

【问题讨论】:

    标签: python matplotlib colormap 4d


    【解决方案1】:

    您需要从颜色图创建一个可映射对象

    m = cm.ScalarMappable(cmap=cm.Oranges)
    m.set_array(A)
    cbar = plt.colorbar(m)
    

    正如对这个问题的回答: Matplotlib 3d plot - associate colorbar with different axis

    【讨论】:

    • 你为什么要转发别人的答案?您已经投票决定将其作为 dup 关闭,所以这只是为了代表吗?
    • 一般来说它当然是重复的。但是你永远不知道问题是在哪个层面提出的,以及提问者是否直接看到了问题及其答案的重叠部分。因此(至少对我而言)为这个问题提供量身定制的答案是有意义的,可以复制/粘贴以使上述代码正常工作。同样对于通过搜索来回答这个问题的其他人来说,这个答案可能会更有帮助,因为它更简洁地回答了如何获得颜色条(而另一个问题也有一些关于旋转 X 和 Z 的组件)。
    • 好吧,你显然比我考虑得更多,对指控感到抱歉,你是对的,这是一个比另一个更严格的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 2015-03-16
    • 2015-11-03
    • 1970-01-01
    • 2019-03-23
    • 2018-08-12
    相关资源
    最近更新 更多