scatter with custom color of point
1 view (last 30 days)
Show older comments
I have a timetabel TT with 3 columns and 153424 rows:
column 1 named Timewh1
column 2 named Var1_TTwh1hourclean
column 3 named Var1_TTERA5swh;
I would like to scatter plot 2nd and 3rd columns with a custom color of points. In particular, since such points are related to the comparison between observed and modelled data, I want that the color of point, in a colorbar from 0 to 1, is equal to 1 if observed data is equal to modelled data.
I try to build the vector of the ratios:
color=TT.Var1_TTERA5swh./TT.Var1_TTwh1hourclean;
and plot this scatter:
scatter(TT.Var1_TTwh1hourclean,TT.Var1_TTERA5swh,[],color);
but the result is not equal to the desired one:
Moreover, I would like to add a dashed line as a bisector of the plot. How can I do this?
0 Comments
Answers (1)
Star Strider
on 8 Dec 2019
I am not certain what you want.
Try this:
x = rand(1, 20);
y = rand(1, 20);
c = y >= 0.5; % Determines Colour
figure
scatter(x, y, [], c, 'o')
hold on
plot(xlim, [1 1]/2, '--k')
hold off
xlabel('x')
ylabel('y')
colormap([1 0 0; 0 1 0])
colorbar
Experiment to get different results.
This example produced this plot:
2 Comments
Star Strider
on 8 Dec 2019
I cannot guess what your data are, or how you want to categorise them. My code does what you initially requested.
To get a diagonal dashed line:
plot(xlim, ylim, '--k')
Without more details, I can go no further.
See Also
Categories
Find more on Scatter Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!