2016-04-26 2 views
0

У меня есть фигура из пистолета с несколькими линиями на ней. Я хотел бы иметь возможность нарисовать дополнительную строку, которая была бы суммой всех других ценностей. Строки не строятся относительно тех же значений x (они визуально короче на графике - см. Изображение). Результирующая строка будет несколько выше всех остальных. enter image description here Одна из идей, которые у меня есть для этого, требует получения значения y линии в определенной точке x. Есть ли такая функция? Или pyplot/matplotlib поддерживают значения суммирующих линий?Подсчет линий в pyplot

+1

Вам придется выполнить интерполяцию и суммировать свое «я», а затем просто построить дополнительную линию. – tacaswell

ответ

0

Для будущих поколений: numpy .interp() было моим решением этой проблемы.

0

Наложите короткий ответ на свой вопрос: прочитайте this для получения дополнительной информации.

Пример:

import matplotlib.pyplot as plt 
import numpy as np 

x = np.arange(100) #range of x axis 
y1 = np.random.rand(100,1) #some random numbers 
y2 = np.random.rand(100,1) 

#this will only plot y1 value 
plt.plot(x,y1) 
plt.show() 

#this will plot summation of two elements 
plt.plot(x,y1+y2) 
plt.show() 

Я принял второй взгляд на ваш вопрос, что я видел ваши значения у имеют разную длину, так добавление их не будет так, как показано в примере выше. То, что вы можете сделать, это создать равные по размеру 4 списка, где не существующие значения в этом списке равны нулю, тогда вы можете применить к ним суперпозицию (просто добавить все из них, а затем построить график)

+0

На самом деле, они все 500 точек длиннее, у более коротких просто больше «плотных» x –

Смежные вопросы