Creating a scatter plot with three variables.

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.

Catégories

En savoir plus sur Geographic Plots dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by