matplotlib每隔n个x绘制一个点

she*_*ell 0 python matplotlib

我试图绘制两件事:

首先是:

plotted_values = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)

然后,我想在绘制值列表中的每第n个值绘制一个点.说n是5:

nth_value_plot = [5, 10]
Run Code Online (Sandbox Code Playgroud)

我想绘制nth_value_plot值,使得5和10共享与mapped_values中的5和10相同的x,y坐标.如此绘制nth_value_plot,其中x坐标为0和1,如预期:

plt.plot(plotted_values)
plt.plot(nth_value_plot, "o")
plt.show()
Run Code Online (Sandbox Code Playgroud)

如何正确绘制如上所述?

编辑:

最终的坐标坐标(x,y)应为:

plotted_values = [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10]]

nth_value_plot = [[4, 5], [9, 10]]
Run Code Online (Sandbox Code Playgroud)

上面代码中的当前绘图使用这些坐标绘制了值,使用坐标绘制了nth_value_plot:

nth_value_plot = [[0, 5], [1, 10]]
Run Code Online (Sandbox Code Playgroud)

谢谢

Ion*_*lub 6

您必须指定x坐标:

代替

plt.plot(nth_value_plot, "o")
Run Code Online (Sandbox Code Playgroud)

n = 5
plt.plot([x + n - 1 for x in range(0, len(plotted_values), n)], nth_value_plot, "o")
Run Code Online (Sandbox Code Playgroud)


ato*_*3ls 6

假设您的x值与y值相同:

v = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
n=5
plt.scatter(v[::n],v[::n])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述