matplotlib每隔n个x绘制一个点

时间:2015-05-27 08:09:32

标签: python matplotlib

我试图策划两件事:

首先是:

assignin('base', 'variable', value)

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

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

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

nth_value_plot = [5, 10]

如何如上所述正确绘制?

编辑:

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

plt.plot(plotted_values)
plt.plot(nth_value_plot, "o")
plt.show()

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

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]]

由于

3 个答案:

答案 0 :(得分:5)

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

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

enter image description here

答案 1 :(得分:2)

您必须指定x坐标:

替换

plt.plot(nth_value_plot, "o")

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

答案 2 :(得分:0)

plot命令中有一个“ markevery”命令,可用于设置数据数组中要跳过的点数。