gpt4 book ai didi

python matplotlib : mark dots over Line2D

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:05 25 4
gpt4 key购买 nike

我想在 Line2D 图上标记一些点。我的标记是一个指标列表。(标记的格式可以不同,但​​我必须有多个标记)。

例如:

import matplotlib.pyplot as plt
x_axis = [...]
y_axis = [1,2,3,4,5]
plt.plot(x_axis,y_axis)
marker1 = [0,0,1,0,0]
marker2 = [1,0,0,0,0]
# TODO: mark with green dots where marker1 == 1,
# mark with red dots where marker2 ==1.

我解决这个问题的方法是制作另一个图(只是把 x 和 y 轴弄乱到第一个图的英尺)。

无论如何,很确定有一个正确的方法可以做到这一点,有任何想法吗?

最佳答案

您可以为每种颜色绘制一个图表,通过标记过滤原始数组,这非常容易实现:

import numpy as np
import matplotlib.pyplot as plt

x_axis = np.array([1,2,3,4,5])
y_axis = np.array([1,2,3,4,5])
plt.plot(x_axis,y_axis)
marker1 = np.array([0,0,1,0,0]).astype(bool)
marker2 = np.array([1,0,0,0,0]).astype(bool)

# mark with green dots where marker1 == 1,
# mark with red dots where marker2 ==1.
for m, c in zip([marker1, marker2],["g","r"]):
plt.plot(x_axis[m], y_axis[m], color=c, ls="", marker="o")

plt.show()

enter image description here

关于python matplotlib : mark dots over Line2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45269826/

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