change the lines' widths in a stem plot, without changing the markers edges widths?
2 views (last 30 days)
Show older comments
Hi, how can I change the lines' widths in a stem plot, without changing the markers edges' widths?
(I just want to modifiy the lines's widths and not the markers edges' thickness, either)
Example:
x = 1:10;
y = [2 5 4 1 2 4 1 8 1 2];
stem(x,y,'LineWidth',0.1,'MarkerSize',15,'MarkerFaceColor','g')
and I get this:
Instead if I change the LineWidth property as:
stem(x,y,'LineWidth',3,'MarkerSize',15,'MarkerFaceColor','g')
I get this:
0 Comments
Accepted Answer
Ameer Hamza
on 21 Oct 2020
Edited: Ameer Hamza
on 21 Oct 2020
You will need to use a combination of stem and scatter to get such a result. Check the following code
x = 1:10;
y = rand(1,10);
subplot(3,1,1)
stem(x,y,'LineWidth',2,'MarkerSize',15,'MarkerFaceColor','g')
subplot(3,1,2)
stem(x,y,'LineWidth',2,'MarkerSize',15,'MarkerFaceColor','g', 'MarkerEdgeColor', 'none')
subplot(3,1,3)
hold on
stem(x, y, 'LineWidth', 2, 'Marker', 'none')
scatter(x, y, 'filled', 'MarkerEdgeColor', 'b', 'MarkerFaceColor', 'g', 'SizeData', 200, 'LineWidth', 0.5)
More Answers (2)
Adam Danz
on 21 Oct 2020
Edited: Adam Danz
on 21 Oct 2020
Method 1: Set markers separately
x = 1:10;
y = [2 5 4 1 2 4 1 8 1 2];
figure()
stem(x,y,'b-','LineWidth',3,'Marker','none')
hold on
plot(x,y,'bo','MarkerSize',15,'MarkerFaceColor','g')
Method 2: Remove edges from marker
figure()
stem(x,y,'b-','LineWidth',3,'MarkerSize',15,'MarkerFaceColor','g','MarkerEdgeColor','none')
Chenguang Yan
on 21 Oct 2020
You can change the value of h2.SizeData to adapt to h1.LineWidth
close all
x = 1:10;
y = [2 5 4 1 2 4 1 8 1 2];
h1 = stem(x,y,'LineWidth',3,'MarkerSize',15,'MarkerFaceColor','g','MarkerEdgeColor','g');
hold on
h2 = scatter(x,y,'LineWidth',0.1,"SizeData",300,"MarkerEdgeColor",'#0072BD');
See Also
Categories
Find more on Subplots 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!