Как использовать строку в качестве данных для построения графиков в Matlab? - PullRequest
14 голосов
/ 09 сентября 2010

Я хочу использовать такие слова, как, скажем, «A», «B» и «C» на оси X, чтобы показать их соответствующие свойства на оси Y.Как я могу записать эти строки на оси X вместо числовых данных?

Ответы [ 4 ]

25 голосов
/ 09 сентября 2010

Используйте 'XTick' и 'XTickLabel' свойства дескриптора осей.
Вот простой пример:

x = 1:5;
y = rand(size(x));
plot(x, y, 'b')
set(gca, 'XTick',1:5, 'XTickLabel',{'A' 'B' 'C' 'D' 'E'})

alt text

10 голосов
/ 09 сентября 2010

Установите себе ячейку с вашими буквами (мои называются метками), затем используйте свойство XTick, чтобы установить то же количество тиков на оси x, что и номер вашей метки. Наконец, свойство XTickLabel запишет ваши метки по оси x.

x = yourXdata;
y = yourYdata;
labels = {'A' 'B' 'C'};
plot(x, y);
set(gca, 'XTick', 1:3, 'XTickLabel', labels);
1 голос
/ 13 апреля 2015

Как использовать значения CHARACTER вместо числовых значений по оси X.чтобы пометить x как T1 T2 T3 T4, просто используйте это: set (gca, 'XTick', 1: 4, 'XTickLabel', {'T1', 'T2', 'T3', 'T4'}, 'FontSize',15)

эту команду можно использовать после команды plot, за которой следуют команды xlabel и ylabel, legand.Вы также можете настроить размер шрифта.

Практический пример:

    %% 50% Day 
    T1wSI=[54.17 115];
    T2wSI=[53.5 112];
    T3wSI=[52.2 110];
    T4wSI=[51.2 108];

    T1oSI=[50.25 94];
    T2oSI=[49.18 92];
    T3oSI=[48.2 90];
    T4oSI=[46.1 84];

    table1=[T1wSI;T2wSI;T3wSI;T4wSI;T1oSI;T2oSI;T3oSI;T4oSI ];
    season2012=table1(:,1);
    season2013=table1(:,2);
    Tr1=[1 2 3 4];

Treatment1 =['T1wSI' 'T2wSI' 'T3wSI' 'T4wSI' 'T1oSI' 'T2oSI' 'T3oSI' 'T4oSI'];
    %Tre1=['T1' 'T2' 'T3' 'T4'];
    %set(gca,'FontSize',14)
    figure(1)
    set(gca,'XTick',1:4,'XTickLabel',{'T1', 'T2', 'T3', 'T4'},'FontSize',14)
    plot(Tr1,table1(1:4,1),'--bs','LineWidth',3);% 2012
    hold on;
    plot(Tr1,table1(1:4,2),'-go','LineWidth',3);% 2013
    plot(Tr1,table1(5:8,1),'--r*','LineWidth',3); % 2012
    plot(Tr1,table1(5:8,2),'-m^','LineWidth',3);% 2013
    set(gca,'XTick',1:4,'XTickLabel',{'T1', 'T2', 'T3', 'T4'},'FontSize',15)
    xlim=[1 5];
    xlabel('Treatments')
    ylabel('Days to 50 % Flowering')
    legend('With -Season 2012','Without -Season 2013','With -Season 2012','Without - Season 2013','Location','NorthEast');
0 голосов
/ 24 февраля 2015

Вы также можете сделать это с помощью графического интерфейса.

1) Щелкните по осям фигур, чтобы открыть редактор свойств осей.

2) Нажмите кнопку «Дополнительные свойства» в правой части окна. Откроется окно инспектора осей.

3) Нажмите на маленькую кнопку рядом со свойством «XTickLabel», чтобы открыть диалоговое окно, как показано ниже. enter image description here

4) Введите нужные метки и нажмите «ОК».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...