#matlab #plot #matlab-figure #colorbar #colormap
#matlab #построение графика #matlab-рисунок #цветная панель #цветовая карта
Вопрос:
На каждой итерации я получаю эти значения. Например;
a равно 2, b равно 3, gg(a, b) равно 70
a равно 2, b равно 4, gg(a, b) равно 72
a равно 2, b равно 5, gg(a, b) равно 76
Я хочу отобразить их на одном графике, например, «a» по осям x, «b» по осям y, а gg (a, b) — это значение, на которое ссылаются a и b. Я также хочу показать значения gg (a, b) в цветовой карте. Я пытался, но пока не достиг. Не могли бы вы помочь, пожалуйста? Вот что я пробовал. Я не хочу 3d, но не знаю, как строить график. Допустим, gg — это матрица, состоящая из 20 столбцов и 5 строк.
gg=rand(5,20);
for a=1:5
for b=1:20
hold on
scatter3(gg(a,b),a,b)
xlabel('gg(a,b)'), ylabel('a'), zlabel('b')
colormap(jet)
view(3)
end
end
Комментарии:
1. Пожалуйста, покажите, что вы пробовали, чтобы мы могли помочь указать, что вы делали неправильно.
2. Я добавил код. @tmpearce
Ответ №1:
Вот (более простой) код для обоих:
gg = rand(5,20);
[a,b] = ndgrid(1:5,1:20);
figure
scatter(a(:),b(:),[],gg(:))
colormap(jet)
xlim([0 6])
xlabel('a')
ylabel('b')
colorbar
figure
colormap(jet)
imagesc(1:5,1:20,gg.')
xlabel('a')
ylabel('b')
axis xy
colorbar
что создает:
Комментарии:
1. Спасибо за ваш ответ, но я этого не хочу. Я хочу, чтобы значения gg (a, b) были видны на графике. Например; Я не вижу, что gg (1,2) находится на графике. В этом примере все мои значения gg (a, b) находятся в диапазоне от 0 до 1. Я хочу показать значения gg (a, b) с цветами. Кроме того, я хочу поместить цветовую панель, чтобы я мог понять, что значения gg (a, b) соответствуют цвету.
2. Если
a
равно x иb
равно y, они определяют точку в двумерном разбросе. Теперь у вас есть другое значениеgg(a,b)
, которое вы хотите показать в этой точке, вы можете сделать это по размеру или цвету (как в примере выше) маркера, я не вижу, как это здесь не делается (если вы не хотите записать значение вместо использования маркера). Если вы хотите отобразить цветовую панель, просто добавьтеcolorbar
после отображения данных.3. @DenizBaturay Прямо сейчас моя MATLAB занята симуляцией, когда она завершится (через ~ 36 часов), я обновлю ответ с более подробной информацией.
4. Спасибо за ответ и комментарий. Я добавил цветную панель и решил проблему. Спасибо 🙂
5. @EBS На втором графике оси y начинаются с 20 до 1, но оно должно быть от 1 до 20. Результаты верны, когда оно равно от 1 до 20.
Ответ №2:
Я думаю, что это должно быть gg=rand(5,20);
Комментарии:
1. Нет, это должно быть gg = rand(20,5) .
2. Да, но у b есть 5 для ограничения, и вы устанавливаете его на 20 в своем цикле. Так что, возможно, переключите b и a в своих циклах.