MATLAB Answers

More line style in Matlab

727 views (last 30 days)
sreeraj t
sreeraj t on 23 Oct 2018
Commented: Zhibin Deng on 27 Apr 2020
I have a code which goes like this:
clear;clc;close all;
x1=(linspace(1,3,1800))';
y1=(linspace(1,2,1800))';
y2=(linspace(2,3,1800))';
y3=(linspace(3,4,1800))';
y4=(linspace(4,5,1800))';
y5=(linspace(5,6,1800))';
y6=(linspace(6,7,1800))';
y7=(linspace(7,8,1800))';
y8=(linspace(8,9,1800))';
y9=(linspace(9,10,1800))';
plot(x1,y1,x1,y2,'--',x1,y3,':',x1,y4,'-.',x1,y5,x1,y6,x1,y7,x1,y8,x1,y9,'LineWidth',2)
As one can see from the plot, nine lines are there. Matlab gives variety of coloring option, but as far as line style is concerned, one can have only 4 options: -, --, : and :. . How can i increase this options?? I have to emphasis that I would NOT like to have markers in the plot.
I have generated the same plots on Grapher software, where once have variety of options. For instance, see the figure below. This has been made with following line options: Solid, 0.1 inch dash, 0.3 inch dash, 0.5 inch dash, Dash dot, Dash dot dot, Dash dot dot dot, Dash Dash dot dot, Dash Dash dot dot dot.
How can one plot like this??? A hint lies at this link.
Thanks in advance...

  2 Comments

HiWave
HiWave on 12 Mar 2020
I've wondered this for years. How can Matlab have such a poor selection of linestyles?
Zhibin Deng
Zhibin Deng on 27 Apr 2020
Same here. Even in MATLAB 2019, there are only FOUR line styles.
I'm wondering whether it is too difficult to add some line styles for MATHWORKS?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 12 Mar 2020
https://www.mathworks.com/matlabcentral/fileexchange/1892-dashline

  5 Comments

Show 2 older comments
sreeraj t
sreeraj t on 13 Mar 2020
Thanks for the suggesion. I understood your point. But, even with the modiifcation as described as follows,
figure(1)
plot(x1,y1,x1,y2,'--',x1,y3,':',x1,y4,'-.',x1,y5,x1,y6,x1,y7,x1,y8,x1,y9,'LineWidth',2)
figure(2)
dashline(x1,y1,'-.r',3,'.g',6)
hold on
dashline(x1,y2,'-.r',3,'.g',6)
I am not able to get the desired plot. Seems like only
dashline(x1,y1,'-.r',3,'.g',6)
is getting executed. What am I doing wrong?
Walter Roberson
Walter Roberson on 13 Mar 2020
Can you attach some sample data for testing?
sreeraj t
sreeraj t on 13 Mar 2020
y1, y2, y3, ... are all listed in the above main program.

Sign in to comment.

More Answers (1)

madhan ravi
madhan ravi on 23 Oct 2018
Edited: madhan ravi on 23 Oct 2018
plot(x,y,'-','LineWidth',10)

  4 Comments

Show 1 older comment
madhan ravi
madhan ravi on 23 Oct 2018
h=plot(x1,y1,x2,y2,'LineWidth',8);
set(h(1),'linewidth',5);
set(h(2),'linewidth',10);
madhan ravi
madhan ravi on 23 Oct 2018
you could also try above example using Linewidth
sreeraj t
sreeraj t on 23 Oct 2018
Thanks for the effort, but I want it in the same form as i asked in the question. A plot with this much thickness does not look good in paper.

Sign in to comment.

Tags

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!