Добавьте это для каждой оси, измените число:
axes.yaxis.labelpad=30
Это упомянуто в ссылке Адамом Хьюзом как не работающее, но оно работает для меня.
formObject.Invoke(delegate {
// action to perform on UI thread
});
Допустим, ваш рабочий метод (который вы выполняете в потоке) -
DoWork(args)
{
...
UpdateUI();
}
. Метод, обрабатывающий событие Elapsed таймера, должен делать следующее:
OnTimerElapsed(object sender, ElapsedEventArgs e)
{
args = GetArgs();
this.BeginInvoke(() => DoWork(args));
// 'this' refers to form here.
// You can also use BeginInvoke on a user control for updating it.
}
Это запустит DoWork в отдельном потоке и DoWork будет иметь возможность обновлять пользовательский интерфейс.