Using imagesc and scatter together
24 ビュー (過去 30 日間)
古いコメントを表示
Hello! I need to impoverish these two teams and there must be 2 colorbar, how do I do this ???
x=[1:150]
y=[1:150]
z=rand(1,150) % summer
p=rand(1,150) % winter
figure(1)
imagesc(x,y ,p)
colormap(winter)
colorbar;
hold on
scatter( x,y,[],z,'d', 'filled')
colormap(summer)
colorbar;
hold off
1 件のコメント
Image Analyst
2020 年 1 月 21 日
What do you mean by "impoverish"? To me it means to make poorer, less wealthy, have less money, none of which seem to apply to images and scatterplots. For what it's worth, I'm attaching demos for how you can combine multiple plots or images onto a single axes.
回答 (1 件)
Subhadeep Koley
2020 年 2 月 3 日
編集済み: Subhadeep Koley
2020 年 2 月 6 日
Assuming you want to display one scatter plot over one imagesc graph both having different colormap and colorbar. Give the below code a try.
close all; clc;
x = 1:150;
y = 1:150;
z = rand(1, 150);
p = rand(1, 150);
figure; ax1 = axes;
% Plot first data
imagesc(ax1, x, y ,p);
hold on;
% Plot second data
ax2 = axes;
ax2.YDir = 'reverse';
scatter(ax2, x, y, [], z, 'd', 'filled');
% Link axes
linkaxes([ax1, ax2]);
% Hide the top axes
ax2.Visible = 'off';
ax2.XTick = [];
ax2.YTick = [];
% ax2.YDir = 'reverse';
% Add differenct colormap to different data if you wish
colormap(ax1, 'winter')
colormap(ax2, 'summer')
% Set the axes and colorbar position
set([ax1,ax2],'Position', [.17 .11 .685 .815]);
cb1 = colorbar(ax1,'Position', [.05 .11 .0675 .815]);
cb2 = colorbar(ax2,'Position', [.88 .11 .0675 .815]);
hold off;

3 件のコメント
Adam Danz
2020 年 2 月 6 日
編集済み: Adam Danz
2020 年 2 月 6 日
@Lev Mihailov, this answer does what you're looking for. Don't forget to accept answers to your questions to show some gratitude to the volunteers who are helping you.
参考
カテゴリ
Help Center および File Exchange で Orange についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!