Can MATLAB plot a graph like this? (Ignore the black lines and light blue areas; I only care about the red and blue points.)

38 views (last 30 days)
Hello everyone, I want to plot the image below. Please ignore the other parts; I'm mainly focused on the red and blue points. I know the scatter function can plot points of different sizes, but the issue is with the red legend next to it. Can MATLAB generate a legend like this, reflecting the size of the points? Looking forward to any responses.

Accepted Answer

Cris LaPierre
Cris LaPierre on 3 Dec 2024 at 16:27
This is a bubble chart. You can create this in MATLAB using bubblechart
The legend isn't exactly the same, but conveys the relationship between size and value.
  4 Comments
Cris LaPierre
Cris LaPierre on 4 Dec 2024 at 15:07
Here's perhaps a slightly cleaner way.
% create dummy data
t = 0:0.1:10;
y = sin(t);
sz = (y+1)*50;
tiledlayout(1,11)
nexttile([1 10])
scatter(t,y,sz);
ax = nexttile;
scatter(0,1:100,1:100,'r')
ylabel('log_{10}Q')
ax.YAxisLocation = 'right';
xticks([])
% Customimze the displayed size (may not be necessary)
yticks(0:20:100)
yticklabels(0:2:10)

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 4 Dec 2024 at 1:37
Instead of bubble chart, try scatter where you can specify the color and size of each marker.

Categories

Find more on Labels and Annotations in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!