2017-02-03 11 views
2

У меня есть вложенный список:участка вложенного списка, как несколько трендовых в питоне

nested=[[35,36,37],[34,35,36,37,38],[22,23,23,24]] 

Мне нужно создать график, где каждый подсписок является трендовым в том же plot.For, например, в (х, у): трендовая линия 1 имеет точки (1,35), (2,36), (3,37). линия тренда 2 имеет точки (1,34), (2,35) ... (5,38) и то же самое для третьей линии тренда, и я не знаю, как это сделать. Я новичок в питоне, большое спасибо за совет!

редактировать Я пробовал:

import matplotlib.pyplot as plt 
for list in nested: 
     x=range(1, len(list)+1) 
     y=list 
     plt.plot(x,y) 
     plt.show() 

Это работает, но дает многочисленные участки. Мне нужно, чтобы поставить все эти на одном участке

+0

есть вы попробовали '[plt.plot (x) для x в вложенном]; plt.show() '? – Abdou

+0

Если вы хотите, чтобы значения оси x начинались с 1, вы можете попробовать '[plt.plot (* m) для m в [list (zip (* [(ix + 1, y) для ix, y в перечислении (x)])) для x вложенных]]; plt.show() '. – Abdou

ответ

0

Вы можете попробовать добавить рентгеновское значение перебирая каждый подсписок и используя enumerate следующим образом:

import matplotlib.pyplot as plt 

nested = [[35,36,37],[34,35,36,37,38],[22,23,23,24]] 
fully_nested = [list(zip(*[(ix+1,y) for ix,y in enumerate(x)])) for x in nested] 
names = ['sublist%d'%(i+1) for i in range(len(fully_nested))] 

for l in fully_nested: 
    plt.plot(*l) 
plt.xlim(0,5) 
plt.xlabel("Indices") 
plt.ylim(0,40) 
plt.xlabel("Values") 
plt.legend(names, fontsize=7, loc = 'upper left') 
plt.show() 

Это дает:

enter image description here

Надеюсь, это окажется полезным.

0

Вам необходимо позвонить plt.show() за пределы цикла, иначе он покажет график на каждой итерации.

import matplotlib.pyplot as plt 
nested=[[35,36,37],[34,35,36,37,38],[22,23,23,24]] 
for y in nested: 
     x=range(1, len(y)+1) 
     plt.plot(x,y) 
plt.show() 

(Кроме того, не используйте list в качестве имени переменной в Python, потому что это тип данных. Хотя это не причиняет вреда здесь, это может привести полный хаос в других сценариях.)