Clear Filters
Clear Filters

Creating a blank canvas in Matlab

37 views (last 30 days)
Maryam NE
Maryam NE on 23 Feb 2015
Commented: Maryam NE on 23 Feb 2015
I am trying to replicate an experiment that has originally been done in Python, with Matlab. I would like to generate a bunch of circles of different sizes, colors and opacity and overlay them on top of each other inside a blank canvas. I would like to know if that is possible to be done in Matlab and what kind of commands I will need to use. For more details regarding the experiment please check the below link:

Accepted Answer

Stephen23 on 23 Feb 2015
Edited: Stephen23 on 23 Feb 2015
In MATLAB a "canvas" is called axes. Within axes can be displayed images or any data plotted. Empty axes are created simply using the axes command:
You can then add/remove your circles inside these axes by using the patch command, or any other plotting command. You can access the current axes handle using gca .
Note that an axes does not exist by itself alone, but is always within a figure.

More Answers (2)

Chris McComb
Chris McComb on 23 Feb 2015
I think that you should probably approach this using the patch command. This will allow you to specify circles with your desired parameters. The keyword alpha will allow you to control opacity.
% Size of circle
r = 5;
% Opacity
a = 0.1;
% Color
c = 'r';
theta = 0:0.1:2*pi;
x = r*cos(theta);
y = r*sin(theta);
patch(x, y, c, 'facealpha', a, 'edgecolor', c, 'edgealpha', a);
The additional argument of edgecolor and edgealpha make sure that the edge of the circle matches the interior.
  1 Comment
Maryam NE
Maryam NE on 23 Feb 2015
Thanks Chris for your answer. But I still need to know if I will be able to create a blank canvas. I need to create let's say 100 random circles and overlay them inside a blank canvas. Is that possible? If so, how can I create that blank canvas, and how can I put the circles inside it?

Sign in to comment.

Image Analyst
Image Analyst on 23 Feb 2015
I have a demo that does something pretty similar. See attached m-file below this image it creates.
  1 Comment
Maryam NE
Maryam NE on 23 Feb 2015
This is very useful! Thanks! Pretty much what I'm looking for.

Sign in to comment.


Find more on Graphics Object Programming 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!