I have the following three lists:
list 1: ['Dog','Cat','Mouse']
list 2: [['3','8','9'],['6','7','8'],['3','8','9']]
list 3: [['11:03:15','11:05:15',11:08:15'],['11:03:15','11:05:15',11:08:15'],['11:03:15','11:05:15',11:08:15']]
I was wondering how I can take these 3 lists and iterate through them to get lists
so the first plot would be plotting dog as title with y value as the first list in 2d list 2 and the x value would the first list in 2d list 3. This would iterate for each value.
My idea is I think to zip these 3 lists like
result = zip(list1,list2,list3)
and then somehow iterate to do something like this but Python says zip object is not subscriptable
for i,j,k in range(1, 60):
df.plot(kind = 'line',x=list1[i], y=list2[j], ax = ax, label =list3[k], figsize=(16,8))
Could anyone explain how I can do this??
CodePudding user response:
It seems to me that you want something fairly straightforward:
import matplotlib.pyplot as plt
list1 = ['Dog', 'Cat', 'Mouse']
list2 = [['3', '8','9'],
['6', '7', '8'],
['3', '8', '9']]
list3 = [['11:03:15', '11:05:15', '11:08:15'],
['11:03:15', '11:05:15', '11:08:15'],
['11:03:15', '11:05:15', '11:08:15']]
for title, y, x in zip(list1, list2, list3):
fig, ax = plt.subplots() # Create a new figure.
ax.set_title(title) # Set the title to dog/cat/mouse.
ax.plot(x, y) # Plot the data.