如何使用python Matplotlib在散点图中标记颜色?

猿友 2021-07-27 14:19:50 浏览数 (2731)
反馈

我目前正在上 Matplotlib 课。我得到了一个图像,以创建图像作为一个3D子图4次,在4个不同的角度。这是一个线性情节。当数据更改时,绘图会更改颜色。由于它是一个图像,我不确定实际更改从何处开始。我不想要一个确切的答案, 只是解释这将如何工作。我已找到许多方法来执行此操作的一个小列表,但这有75个数据点,我似乎不能做到这一点,而不添加75个条目。我也试图了解cmap,但我也感到困惑。此外,它需要做没有西伯恩。

解答:

我觉得你的问题有点难以理解。我认为您需要的是将输入 x/y 参数映射到所选颜色图中的颜色上的功能。请参阅下示例:

import numpy as np
import matplotlib.pyplot

def number_to_colour(number, total_number):
    return plt.cm.rainbow(np.linspace(0,1.,total_number))[list(number)]

x = np.arange(12)
y = x*-3.
z = x

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, c=number_to_colour(x, len(x)))
plt.show()

plt.cm.rainbow(np.linspace(0,1.,total_number))创建长度均匀间隔的彩色阵列,间隔于彩色地图(在此例中)。修改此数组的索引(或通过所需的缩放将 np.linspace 更改为其他功能)应为您提供所需的颜色缩放。total_numberrainbow


0 人点赞