4

我正在使用一组点制作一个 pyplot 图:

    plt.plot([range(0,10)], [dictionary[key]],'bo')

这正确地绘制了我期望的点,但是我也希望在这些点之间画一条线。我找不到用 pyplot 做到这一点的方法,我认为这很简单。

有人可以解释我该怎么做吗?

4

3 回答 3

6

尝试明确指定所需的属性:

plt.plot(range(10),range(10),marker='o',color='b',linestyle='-')

紧凑的风格非常适合交互式的东西,但我发现使用关键字参数可以使代码更具可读性,并且可以循环控制在同一图表上绘制多条曲线时如何循环线属性。

dictionary[key]的代码中有什么?如果它是一个标量,那么它将产生 10 条长度为 1 的单独行。我想你可能真的想做

plt.plot(np.arange(10),np.ones(10)*dictionary[key],marker='o',color='b',linestyle='-')

或者

plt.plot(range(10),[dictionary[key]]*10,marker='o',color='b',linestyle='-')

取决于您是否使用 numpy。

于 2012-07-17T14:51:15.883 回答
4

在您的情况下[range(0,10)]是列表列表。因此,您正在绘制 10 个点而不是一条线。尝试

plt.plot(range(0,10), dictionary[key],'bo-')
于 2012-07-17T13:11:22.790 回答
1

是的,只需添加一个“-”:


plt.plot([range(0,10)], [dictionary[key]],'bo-')

这将使蓝色圆形点由一条线连接。

于 2012-07-17T12:34:15.053 回答