24

I have two sets of data, (Ax, Ay; Bx, By). I'd like to plot both of these data sets on a scatter plot with different colors, but I can't seem to get it to work, because it seems scatter() does not work like plot(). Is it possible to do this?

I've tried...

scatter(Ax, Ay, 'g', Bx, By, 'b')

And

scatter(Ax, Ay, 'g')
scatter(Bx, By, 'b')

The first way returns an error. The latter only plots the Bx/By data.

1

3 Answers 3

39

Try using hold on with the second example.

Sign up to request clarification or add additional context in comments.

3 Comments

That did the trick! Many thanks for the speedy and concise response. Much appreciated!
This may cause some headache if you are trying to combine it with adding legends. See this question.
This is fine, but you are not able to plot all best fitting lines at once.
6

plot (ax,ay,'g.') generates a scatter plot with green dots

if you want bigger circles, you can use

plot (ax,ay,'g.', 'MarkerSize', XX) %XX = 20 or whatever

To make open circles

plot (ax, ay, 'go')

As you know, plot can be chained, so you can do it one go with

plot (ax, ay, 'go', bx, by, 'bo')

The difference between plot and scatter is that scatter lets you specify the marker size, but you're not asking to do that here.

Comments

4

Another option is to use gscatter. The parameters are different, but it is sometimes more useful than scatter(...); hold on; scatter(...);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.