Nano Hash - криптовалюты, майнинг, программирование

Создайте график xy с двумя осями y

У меня есть следующий код. Я пытаюсь создать график xy с двумя осями y. Однако я получаю только одну строку посередине. Я хочу, чтобы y была вертикальной осью справа, а vel была вертикальной осью слева. У меня есть несколько наборов данных для разных позиций, и я пытаюсь разместить первый на 0,66 по оси x, второй на 1 и т. д., но я не могу заставить его работать. Помогите, пожалуйста.

С уважением, Джер

clc
    clear


%Retrieve data and figure setup
filename = 'G:\Protable Hard Drive\PHD Hard Drive\Experimental Data\Bulkrename Trial\Common data for line graphs\Data for line graphs.xls';
a = xlsread(filename, 'Veldef');
vel = 0:1/37:1;
y = -16/15:1/15:21/15;

%X/D=0.66 TSR5
x = 0.66;
exp = a(1:38,2);
ko = a(1:38,4);
rst = a(1:38,6);

%Plot
h = plot(x,exp,x,ko,x,rst);
20.02.2015


Ответы:


1

Один из вариантов: plotyy().

x = 1:10;
y = rand(1,10);
plotyy(x, x, x, y)

Более гибкий вариант — наложить две (или более) оси и указать, какие данные вы хотите отобразить на каждой из них.

% Sample data
x = 1:10;
y = rand(1,10);

% Create axes & store handles
h.myfig = figure;
h.ax1 = axes('Parent', h.myfig, 'Box', 'off');
h.ax2 = axes('Parent', h.myfig, 'Position', h.ax1.Position, 'Color', 'none', 'YAxisLocation', 'Right');

% Preserve axes formatting
hold(h.ax1, 'on');
hold(h.ax2, 'on');

% Plot data
plot(h.ax1, x, x);
plot(h.ax2, x, y);

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

Свойство Position задает размер и положение оси точно такими же, как у первой оси. Обратите внимание, что я использовал точечную нотацию, представленную в R2014b, если у вас более старая версия, просто поменяйте местами h.ax1.Position на get(h.ax1, 'Position').

Вызовы Color и YAxisLocation должны говорить сами за себя.

Я использовал hold, чтобы сохранить форматирование осей. Если вы не включите их и не нанесете свои данные, цвет фона и расположение осей будут сброшены, и вам потребуется отрегулировать их обратно.

Надеюсь это поможет!

20.02.2015

2

Начиная с Matlab 2016a вы также можете использовать новую функцию yyaxis. Пример из документации:

x = linspace(0,10);
y = sin(3*x);
yyaxis left
plot(x,y)

z = sin(3*x).*exp(0.5*x);
yyaxis right
plot(x,z)
ylim([-150 150])

Результирующее изображение

06.03.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..