Python matplotlib中的多个绘图

Python matplotlib中的多个绘图,python,matplotlib,Python,Matplotlib,我有以下代码,可以使用matplotlib从二维列表中绘制两个叠加图: for day in days: # Draw a green triangle plt.plot(day[0], len(day[1] * 100), 'g^') # Draw red dots for hour in day[1]: plt.plot(day[0], hour, 'ro') 这将生成如下图: 但我希望三角形用实线连接,这样可以更清楚地看到沿X轴的演化

我有以下代码,可以使用matplotlib从二维列表中绘制两个叠加图:

for day in days:

    # Draw a green triangle
    plt.plot(day[0], len(day[1] * 100), 'g^')

    # Draw red dots
    for hour in day[1]:
        plt.plot(day[0], hour, 'ro')
这将生成如下图:

但我希望三角形用实线连接,这样可以更清楚地看到沿X轴的演化。无论我用什么来代替“g^”,我似乎都不能在这里画实线。这应该怎么做


谢谢。

欢迎来到Stack Overflow

如果您确实想循环遍历数据并逐个绘制,可以执行以下操作:

green_三角形,u=plt.plot([],[],'g^')#可能是您需要的'g^-'。现在不能测试它
对于以天为单位的天:
#画一个绿色的三角形
X=np.append(绿色的_三角形.get_扩展数据(),第[0]天)
Y=np.append(绿色的三角形。get_ydata(),len(第[1]*100天))
绿色三角形。设置扩展数据(X)
绿色三角形。设置数据(Y)
#画红点
对于一天中的小时[1]:
plt.绘图(日[0],小时,'ro')

你只需画两条线就可以把三角形连接起来,这并不漂亮,但很有效:

# Draw a green triangles, as you said:
plt.plot(day[0], len(day[1] * 100), 'g^')
# another line to draw the green line:
plt.plot(day[0], len(day[1] * 100), 'g')
或者,阅读后,你可以写:

plt.plot(day[0], len(day[1] * 100), linestyle='solid', marker='^', color='g')
替换

plt.plot(day[0], len(day[1] * 100), 'g^')


注意第二行的附加
-

谢谢?我已经阅读了关于打印格式的文档,但我无法让它工作,这就是为什么我在这里问。。。这也不起作用(我只得到三角形,如上面的屏幕截图所示)。似乎无法在注释中正确格式化我的代码,但我尝试了你的两个建议。两个都不起作用。这可能是Python版本还是操作系统的问题(我使用的是昨天刚从存储库安装的MacOS10.12、Python3.5.2和mathplotlib)?
plt.plot(day[0], len(day[1] * 100), '-g^')