gpt4 book ai didi

python - 如何用多种颜色绘制同一点?

转载 作者:行者123 更新时间:2023-12-02 02:43:38 30 4
gpt4 key购买 nike

我有一些已聚类的数据,并希望将其与相同数据的人工注释进行比较。我遇到的问题是,人类注释者已标记了一些具有共存事件的点(即空间中的某些点将具有两个或多个与之关联的标签)。有没有办法可以使用 matplotlib 来显示这一点?

我正在思考以下简化示例的内容:

要点是将具有事件 1 和 2 的点归类为某个新事件“3”,而是绘制具有两个事件的点,以独立显示这些事件。我认为这不是一件容易的任务,因为可能有两个以上的共存事件,但在这个例子中我只关注两个。


我的计划是创建一个 shape=(n_points, n_events) 的单热数组,并使用代表每个独特事件的 plt.cm.rainbow 线性选择颜色图的颜色。但我被困在这里,因为我不知道如何用 >1 标签绘制点。

绘制点的样式并不严格重要(即,不需要像我所说明的那样具有并排颜色),只要具有多个事件的点,任何显示它们的方法都应该足够很容易识别。

到目前为止,我会发布我的尝试,但由于我停留在如此早期的步骤上,它只能生成形状为 (20, 2) 的随机玩具数据集,并创建单热标签数组正如我之前提到的。

最佳答案

您可以指定 color 以及 markerfacecoloraltfillstyle='left' 以获得并排颜色阴谋。有关更多信息和其他样式,请参阅 this tutorial .

import matplotlib.pyplot as plt
import numpy as np

x = np.sort(np.random.random(size=20))
y = x + np.random.normal(scale=0.2, size=x.shape)

i, j = len(x)//2 - 2, len(x)//2 + 3 # separate the points in left and right

colors = ['#1f77b4', '#ff7f0e']

fig, ax = plt.subplots()
ax.plot(x[:i], y[:i], 'o', color=colors[0], ms=15) # left part
ax.plot(x[j:], y[j:], 'o', color=colors[1], ms=15) # right part
ax.plot(x[i:j], y[i:j], 'o', # middle part
fillstyle='left', color=colors[0], markerfacecoloralt=colors[1], ms=15)

plt.show()

示例图:

Example

关于python - 如何用多种颜色绘制同一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63156258/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com