сглаживание линии графика в Matlab

У меня есть следующий график, и я хотел бы сделать его более приятным для глаз, сгладив график. Является ли это возможным ?

введите здесь описание изображения

tempyr = 1880:1:2014;  
temperature = temp(1:2, 1:135);
Tempval = {'Annual Mean','5 Year Mean'}
TH = zeros(size(Tempval));
hold on
TH = plot( tempyr', temperature', '-o', 'Marker', '.');
xlabel( 'year', 'fontsize', 24); ylabel( 'Temperature Anomaly (Degree Cel)', 'fontsize', 24 );
legend(TH, Tempval)
grid on

Идеальный график. введите здесь описание изображения


person user2691544    schedule 23.04.2014    source источник
comment
Какой график вы хотите сгладить? Среднее годовое? В среднем 5 лет? Можете ли вы привести пример того, как вы представляете себе результат такого сглаживания? Как бы вы справились с потерей данных?   -  person Schorsch    schedule 23.04.2014
comment
Чем идеальный график отличается от графика, созданного вами?   -  person Schorsch    schedule 23.04.2014
comment
Может быть, вы хотите, чтобы на линиях не было лестниц? Нравится сглаживание?   -  person Mathias    schedule 23.04.2014
comment
@ Матиас, да. Хотелось бы убрать резкое падение или увеличение высоты. (лестница) возможно ли это? Также как мне включить такую ​​функцию в мой код?   -  person user2691544    schedule 23.04.2014
comment
Если у вас есть набор инструментов для подгонки кривой, вы можете использовать функцию smooth().   -  person Doug Lipinski    schedule 23.04.2014


Ответы (1)


Пытаться

TH = plot( tempyr', temperature', '-o', 'Marker', '.','LineSmoothing','on');

а также посмотрите здесь, особенно export_fig может оказаться полезной.

person Mathias    schedule 24.04.2014