Различные правые и левые оси в графике MATLAB?

Я вывожу единственную трассировку на печать в MATLAB с plot(). Я хотел бы добавить ось правши с другим набором меток (масштабируемый линейно). Действительно ли это возможно?

13
задан AndyL 20 April 2010 в 14:39
поделиться

3 ответа

Есть несколько хороших предложений по этому тесно связанному вопросу , хотя они относятся к более сложной ситуации, чем ваша. Если вам нужно супер-простое решение своими руками, вы можете попробовать следующее:

plot(rand(1, 10));       % Plot some random data
ylabel(gca, 'scale 1');  % Add a label to the left y axis
set(gca, 'Box', 'off');  % Turn off the box surrounding the whole axes
axesPosition = get(gca, 'Position');           % Get the current axes position
hNewAxes = axes('Position', axesPosition, ...  % Place a new axes on top...
                'Color', 'none', ...           %   ... with no background color
                'YLim', [0 10], ...            %   ... and a different scale
                'YAxisLocation', 'right', ...  %   ... located on the right
                'XTick', [], ...               %   ... with no x tick marks
                'Box', 'off');                 %   ... and no surrounding box
ylabel(hNewAxes, 'scale 2');  % Add a label to the right y axis

И вот что у вас должно получиться:

enter image description here

16
ответ дан 1 December 2019 в 21:11
поделиться

Откройте справку MATLAB с помощью F1 и взгляните на функции ниже function plot , которые вы упомянули, там вы увидите плотый . Это то, что вам наверняка понадобится.

ОБНОВЛЕНИЕ: на самом деле plotyy НЕ является ответом на вопрос, указанный gnovice.

1
ответ дан 1 December 2019 в 21:11
поделиться

Вы можете попробовать это представление в MATLAB File Exchange - PLOT2AXES .

Пример PLOT2AXES http://www.mathworks.com/matlabcentral/fx_files/7426/2/plot2axes.png

8
ответ дан 1 December 2019 в 21:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: