Hello, I am trying to create a scatter plot of some rain gauge data. I have three columns with data in them. My X variable is for Longitude, Y is Latitude and Z would be the rainfall totals. Each variable is a 31x1 double array. How can I get the Z variable to show up as individual points on the graph with color representing higher values?

 Réponse acceptée

Star Strider
Star Strider le 5 Juin 2018
This uses the value of ‘Z’ to scale the colors:
x = 1:20;
y = 1:20;
[X,Y] = ndgrid(x,y); % Create Grids
Z = (X - 10).*(Y - 10); % Create ‘Z’
figure
scatter3(X(:), Y(:), Z(:), [], Z(:), 'filled') % Use ‘Z(:)’ To Scale Colors
Experiment to get the result you want with your data.

6 commentaires

Thanks for the feedback. This made the plot, however I am not trying to make a 3d plot. It has to be a 2d plot with
c = load('coast');
hold on;
u = load('us_state_map.mat');
as my grid.
Try this:
x = 1:20;
y = 1:20;
[X,Y] = ndgrid(x,y); % Create Grids
Z = (X - 10).*(Y - 10); % Create ‘Z’
figure
scatter(X(:), Y(:), [], Z(:), 'filled')
That should do what you want.
Brandon Bush
Brandon Bush le 5 Juin 2018
Thank you, this worked
Star Strider
Star Strider le 5 Juin 2018
My pleasure.
If my Answer helped solve your problem, please Accept it!
Thak you, too.
Star Strider
Star Strider le 15 Avr 2020
My pleasure!

Connectez-vous pour commenter.

Plus de réponses (1)

Honglei Chen
Honglei Chen le 5 Juin 2018
I would use scatterm, something like
scatterm(X,Y,5,Z)
The reference page can be found at
HTH

2 commentaires

Brandon Bush
Brandon Bush le 5 Juin 2018
Thank you for your answer, when I use this I get an error message that says "error using gcm: Not a map axes"
Honglei Chen
Honglei Chen le 6 Juin 2018
I thought you want to plot lat and lon on a map.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by