Clear Filters
Clear Filters

Fill colour in a scatter plot

13 views (last 30 days)
Milan Kumar
Milan Kumar on 2 May 2019
Answered: Steven Lord on 9 Jul 2024 at 16:54
I neet to fill the graph for with light grey colour and remaining graph with a darker shade. Also two different pattern as backgrounds can also work.

Answers (2)

Steven Lord
Steven Lord on 9 Jul 2024 at 16:54
This wasn't an option when the question was originally asked, but if you're using release R2023a or later you could use xregion (and similarly yregion for shaded regions in a range of Y values.)
x = 1:10;
plot(x, x.^2);
xregion([3 8], FaceColor = 'r')
yregion([-Inf 64; 9 Inf], FaceColor = 'c')

SAI SRUJAN
SAI SRUJAN on 9 Jul 2024 at 16:08
Hi Milan,
I understand that you are facing an issue to fill color in a scatter plot.
Please go through the following code sample to proceed further,
% Sample data
x = linspace(0, 10, 100);
y = 3*x + 5;
% Create scatter plot
scatter(x, y, 'b');
hold on;
x_fill1 = [x(x < 5) 5];
y_fill1 = [y(x < 5) 0];
x_fill2 = [5 x(x >= 5)];
y_fill2 = [0 y(x >= 5)];
% Fill the regions
fill(x_fill1, y_fill1, [0.8 0.8 0.8], 'FaceAlpha', 0.5);
fill(x_fill2, y_fill2, [0.5 0.5 0.5], 'FaceAlpha', 0.5);
hold off;
For a comprehensive understanding of the 'fill' function in MATLAB, please refer to the following documentation.
I hope this helps!

Community Treasure Hunt

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

Start Hunting!