Я рисую данные, которые являются полиномами, но я хотел бы показать их на прямой линии, чтобы они были более четкими.

Я хочу, чтобы отметки оси X показывали N ^ 2, где N - положение отметки. Я также хочу, чтобы фактические отметки на графике были равномерно распределены, даже если числа нет.

Я пытался поменять галочки с помощью

Xtick_squared = (0: 10: 100). ^ 2 set (gca, 'xTick', xtick_squared, 'xTickLabel', xtick_squared)

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

Как я могу отобразить их с равным интервалом, сохраняя при этом их значения, а также корректируя данные?

1
Cameron 13 Мар 2018 в 17:20

2 ответа

Лучший ответ

Это должно работать нормально:

x = 0:10:100;
y = (x .^ 2) + 5;
labs = sprintfc('%d',x.^2);

plot(x,y);
set(gca,'XTickLabel',labs);

На самом деле, все дело в изменении меток галочки, не меняя сами галочки. Вот окончательный результат:

enter image description here

0
Tommaso Belluzzo 13 Мар 2018 в 18:15

Вы можете указать расположение x-меток, а затем переименовать их.

Вот пример кода:

 x=[0,10,20,30,40,50].^2;
 plot(x,x)
 set(gca,'XTick',linspace(0,2500,6),'XTickLabels',num2cell(x))

P.S .: Обратите внимание, что ваши фактические данные отображаются на равномерно распределенной сетке. Я только что переименовал имена клещей.

Изменить: если вы хотите построить свои фактические данные, вам необходимо соответственно масштабировать x - ось. Если вы хотите plot(x,x), вам нужно вместо этого позвонить plot(sqrt(x),x):

 x=[0,10,20,30,40,50].^2;
 plot(sqrt(x),x)
 set(gca,'XTick',linspace(0,2500,6),'XTickLabels',num2cell(x))
0
Mikhail Genkin 13 Мар 2018 в 14:45