我一直在尝试使用Matplotlib.pyplot.figure在一张图中绘制多条线。我可以使用pyl.plot
来做到这一点,但我想使用pyplot.fig
pyl.plot代码:
import matplotlib.pylab as pyl
obstListX = [[90, 90, 100, 100, 200, 200, 240, 240], [300, 300, 308, 308, 300, 300, 330, 330], [170, 206, 226, 260]]
obstListY = [[90, 112, 112, 100, 100, 125, 125, 121], [145, 80, 80, 70, 70, 50, 50, 135], [70, 69, 91, 90]]
pyl.plot(x, y, 'r')
for x, y in zip(obstListX, obstListY):
pyl.plot(x, y, 'r',color='b')
pyl.xlim(0, 480)
pyl.ylim(0, 320)
pyl.grid(which='major', linestyle='-', linewidth='0.5', color='grey')
pyl.show()
当我想使用mpld3将图形保存为HTML时,如何将线条绘制为一个图形(如上图所示)?在下面的代码中,三行作为3个不同的数字出现,就像在for循环中一样,只有最后一行被转换为html。
import matplotlib.pylab as pyl
import mpld3
from mpld3 import plugins, utils
obstListX = [[90, 90, 100, 100, 200, 200, 240, 240], [300, 300, 308, 308, 300, 300, 330, 330], [170, 206, 226, 260]]
obstListY = [[90, 112, 112, 100, 100, 125, 125, 121], [145, 80, 80, 70, 70, 50, 50, 135], [70, 69, 91, 90]]
for x, y in zip(obstListX, obstListY):
fig, ax = pyl.subplots()
ax.plot(x, y)
ax.set(xlabel='time (s)', ylabel='voltage (Label)',
title='Title goes here')
ax.grid()
mpld3.save_html(fig, "/home/pi/Desktop/fig1.html", template_type='general')
pyl.show()
请注意,obstListX ,obstListY
是x和y坐标列表的列表。
我将fig, ax = pyl.subplots()
从for循环中移出,并且可以正常工作。
fig, ax = pyl.subplots()
for x, y in zip(obstListX, obstListY):
ax.plot(x, y)