Python:pyplot - 绘制具有较少杂波的平滑曲线并在曲线上显示数据点

时间:2012-07-31 23:16:24

标签: python plot matplotlib

我有三个浮点值列表,每个列表都很长,例如每个列表有250-300个元素。我设法使用以下代码进行绘图,但不幸的是,将所有这些列表放在一个图中之后很难阅读。

以下是我的清单示例:

list1 = [0.607,0.157,0.242.............]
list2 = [0.992,0.296,0.237.............]
list3 = [0.231,0.079,0.256.............]

任何这些元素的最高可能值是1.0

这是我的代码片段:我没有把我的整个代码放在一起,因为它有不必要的部分,我在迭代多个向量时构造这些列表。

plt.plot(list1, 'ro')
plt.plot(list2, 'bo')
plt.plot(list3, 'go')
plt.ylabel('cosine values')
plt.show()

This is how my current plot looks like

这就是我目前的情节。

1 个答案:

答案 0 :(得分:1)

我有一些建议,不确定它们是否包含答案,但现在就这样了。

尝试使用'.'代替'o',因此积分占用较少的区域

由于数据似乎在底部压缩,请尝试使用对数刻度进行绘图yscale('log')

plt.plot(list1, 'r.')
plt.plot(list2, 'b.')
plt.plot(list3, 'g.')
plt.ylabel('cosine values')
plt.yscale('log')
plt.show()

您还可以考虑通过二次取样或平均来减少数据点的数量。