繁体   English   中英

指定散点图中每个点的颜色(matplotlib)

Specify color of each point in scatter plot (matplotlib)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个使用 matplotlib 创建的 3D 图,我有一个对应于每个点的 rbg 值列表。

我有 X、Y 和 Z 数据,然后我有以下形式的“颜色列表”:

[ (r,g,b), (r,g,b), ... , (r,g,b) ]

匹配每个 (x, y, z) 点。

现在,我有

fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')

ax.scatter(X, Y, Z)
plt.show()

合并这些 rgb 元组以便为每个点分配特定颜色的适当方法是什么?

3 个回复

如果您不想使用 for 循环(这对于大型列表可能会很慢)您可以按原样使用 scatter 命令处理 RGB 颜色列表,但您需要将颜色指定为 RGB(或 RGBA ) 0 到 1 之间的值

X = [0, 1, 2]
Y = [0, 1, 2]
Z = [0, 1, 2]
C = np.array([[255, 0, 0], [0, 255, 0], [0, 0, 255]])
fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')

ax.scatter(X, Y, Z, c = C/255.0)
plt.show()

3个色点

我使用for循环将每种颜色单独分配给每个点。 这是我的代码:

X = [1, 2, 3]
Y = [2, 5, 8]
Z = [6, 4, 5]
colors=["#0000FF", "#00FF00", "#FF0066"]

fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')


for i in range(len(X)):
    ax.scatter(X[i], Y[i], Z[i], color=colors[i])
plt.show()

for循环逐点运行(因此[i]在每个 X、Y、Z 值前面)并一个一个地给出颜色。 我在示例中使用了十六进制颜色,但如果您愿意,您可以使用其他颜色。

这是一个示例,其中计算颜色而不是由文字列表指定。

import matplotlib.pyplot as plt
import numpy as np

phi = np.linspace(0, 2*np.pi, 60)
x = np.sin(phi)
y = np.cos(phi)
rgb_cycle = np.vstack((            # Three sinusoids
    .5*(1.+np.cos(phi          )), # scaled to [0,1]
    .5*(1.+np.cos(phi+2*np.pi/3)), # 120° phase shifted.
    .5*(1.+np.cos(phi-2*np.pi/3)))).T # Shape = (60,3)

fig, ax = plt.subplots(figsize=(3,3))
ax.scatter(x,y, c=rgb_cycle, s=90)
fig.show()

色环

2 如何在matplotlib中为散点图中的每个点绘制不同深浅的颜色?

我试图绘制一个散点图,其中散点图中的每个点都应对应于我选择的给定颜色的特定阴影。 mpl 文档指出,如果我设置如下: 它给了我一个灰色阴影,缩放强度为0.7 。 我正在从一个数组中读取颜色的强度,该数组的值介于 0 和 1 之间,每个值对应于散点图中该点的强度。 我的代码如下: 我正在以指 ...

3 按位置(matplotlib)在散点图中的颜色点

我有一张来自恒星目录的恒星图,显示了光度与温度的关系: 上羽以红巨星为主,T_eff~6500右侧为主序星,左侧为蓝色水平支星。 我怎么能根据它们的位置为图中这些区域的点着色; 例如红色代表上层羽流,黄色代表主序带,蓝色代表蓝色分支? 我已将分支从数据集中分成多个切片,但我不确定如何将它们 ...

4 在matplotlib上的散点图中为每个系列设置不同的颜色

假设我有三个数据集: 我可以散点图: 我怎样才能用 10 组做到这一点? 我搜索了这个,可以找到我所问的任何参考。 编辑:澄清(希望)我的问题 如果我多次调用 scatter ,我只能在每个 scatter 上设置相同的颜色。 另外,我知道我可以手动设置颜色数组,但我确信有更好的方法来做 ...

5 为散点图中的每个点分配颜色

我需要为每个点分配不同的颜色,我已经做了一个包含坐标(x,y)的元组列表。 我需要为每个元组/点分配一个颜色,我的问题是,是否可以像这样(x,y,'green')直接将颜色分配给元组? 提前致谢。 我包括我的代码: ...

9 matplotlib连接散点图中的点

我试图想象一些关于进程运行或运行的时间以及它闲置的时间的数据。 对于每个进程,我有a_x_axis进程开始运行的时间, a_live_for是它醒来后它还活着的时间。 我为每个进程都有两个数据点。 我试图通过连接第一个绿点与第一个红点和第二个绿点与第二个红点连接这两个点,依此类推,所以我可 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM