Вы должны просто создать вектор со средним значением и построить его:
plt.plot(df.iloc[:,0], df.iloc[:,3].mean() + np.zeros_like(df.iloc[:,3]), 'g--')
Я нашел решение вашей проблемы, написав небольшую функцию, которая проверяет, находится ли poitn на подключенном экране. Основная идея пришла от http://msdn.microsoft.com/en-us/library/system.windows.forms.screen (VS.80) .aspx но некоторые модификации были необходимы.
public static bool ThisPointIsOnOneOfTheConnectedScreens(Point thePoint)
{
bool FoundAScreenThatContainsThePoint = false;
for(int i = 0; i < Screen.AllScreens.Length; i++)
{
if(Screen.AllScreens[i].Bounds.Contains(thePoint))
FoundAScreenThatContainsThePoint = true;
}
return FoundAScreenThatContainsThePoint;
}
Существует не создан способом сделать это - необходимо будет записать логику сами. Одна причина этого состоит в том, что необходимо решить, как обработать случай, где монитор, на котором в последний раз показали окно, больше не доступен. Это может быть довольно распространено с ноутбуками и проекторами, например. Экранный класс имеет некоторую полезную функциональность для помощи с этим, хотя это может быть трудно исключительно и последовательно определять дисплей.
Попытайтесь породить свою основную форму в ее сохраненном местоположении в восстановленном (немаксимизируемом) состоянии, ЗАТЕМ максимизируйте его, если последнее состояние максимизировалось.
Поскольку Stu сказал, быть осторожным относительно удаленных мониторов в этом случае. Так как сохраненное местоположение может содержать внеэкранные координаты (даже отрицательные), можно эффективно закончить с и невидимый (вне экрана, на самом деле) окно. Я думаю, проверяя на настольные границы прежде, чем загрузиться, предыдущее состояние должно предотвратить это.