我使用以下方法制作带有一组点的pyplot图:
plt.plot([range(0,10)], [dictionary[key]],'bo')
这正确地按照我的预期绘制了点,但是我也希望在这些点之间绘制一条线。我找不到用pyplot来做这个的方法,我认为这是微不足道的。
有人可以解释我是怎么做到的吗?
答案 0 :(得分:6)
尝试明确指定所需的属性:
plt.plot(range(10),range(10),marker='o',color='b',linestyle='-')
紧凑的样式很适合交互式的东西,但是我发现使用关键字参数可以使代码更具可读性,并且可以循环控制在同一个图形上绘制多条曲线时循环线条属性的方式。 / p>
代码中的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。
答案 1 :(得分:4)
在您的情况下,[range(0,10)]
是一个列表清单。因此,您正在绘制10个点而不是线。试试
plt.plot(range(0,10), dictionary[key],'bo-')
答案 2 :(得分:1)
是的,只需添加" - ":
plt.plot([range(0,10)], [dictionary[key]],'bo-')
这将使蓝色圆点通过线连接。