我正在使用一组点制作一个 pyplot 图:
plt.plot([range(0,10)], [dictionary[key]],'bo')
这正确地绘制了我期望的点,但是我也希望在这些点之间画一条线。我找不到用 pyplot 做到这一点的方法,我认为这很简单。
有人可以解释我该怎么做吗?
我正在使用一组点制作一个 pyplot 图:
plt.plot([range(0,10)], [dictionary[key]],'bo')
这正确地绘制了我期望的点,但是我也希望在这些点之间画一条线。我找不到用 pyplot 做到这一点的方法,我认为这很简单。
有人可以解释我该怎么做吗?
尝试明确指定所需的属性:
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。
在您的情况下[range(0,10)]
是列表列表。因此,您正在绘制 10 个点而不是一条线。尝试
plt.plot(range(0,10), dictionary[key],'bo-')
是的,只需添加一个“-”:
plt.plot([range(0,10)], [dictionary[key]],'bo-')
这将使蓝色圆形点由一条线连接。