scatter with custom color of point
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Star Strider
am 8 Dez. 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 Kommentare
Star Strider
am 8 Dez. 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.
Siehe auch
Kategorien
Mehr zu Scatter Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!