MATLAB Answers

How to change the line width for fplot?

3,824 views (last 30 days)
Amit Kumar
Amit Kumar on 8 May 2014
Hello All,
I want to make lines in graph thicker. Here is my code, but it seems not working.
clear all;
close all
clc;
w1=0;
w2=16.73;
x1= @(t) 0.05*cos(w1.*t)-0.05*cos(w2.*t);
x2= @(t) 0.05*cos(w1.*t)+0.05*cos(w2.*t);
graph1 = plot(figure1);
set(graph1,'LineWidth',2);
fplot(x1,[0,2],'k');
hold on;
fplot(x2,[0,2],'--k');
hold off;
legend('x','y');
title('plot');
xlabel('t');
ylabel('d');
I am increasing the linewidth, but messing up somewhere. In plot command, you can straightaway write 'LineWidth' in plot() itself, but no so in fplot. Any comments where I messed up?

  1 Comment

Abby Skofield
Abby Skofield on 16 Oct 2018
Have you tried setting LineWidth directly in the call to fplot? Both plot and fplot support Name,Value pairs like LineWidth, as in:
x1= @(t) 0.05*cos(w1.*t)-0.05*cos(w2.*t);
fplot(x1,[0,2],'k','LineWidth',2);
hold on
plot(0:0.1:2,sin(0:0.1:2)/10,'k','LineWidth',2);

Sign in to comment.

Accepted Answer

lvn
lvn on 8 May 2014
Edited: MathWorks Support Team on 27 Nov 2018
Starting in R2016a, you can specify the 'LineWidth' property the same way you do for plot. For example:
>> fplot(x1,[0,2],'k','LineWidth',2);
In R2015b and earlier releases, you have to search for the object and set the line width. To set the widths of all the lines to 2:
>> set(findall(gca, 'Type', 'Line'),'LineWidth',2);
Or, to set the width of one line:
>> set(findobj(gca, 'Type', 'Line', 'Linestyle', '--'), 'LineWidth', 2);

  0 Comments

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 8 May 2014
One way is to use fplot() to get the (x,y) values, then use plot() to do the plotting and then adjusting properties via the plot handles.
clear all;
close all
clc;
w1=0;
w2=16.73;
x1= @(t) 0.05*cos(w1.*t)-0.05*cos(w2.*t);
x2= @(t) 0.05*cos(w1.*t)+0.05*cos(w2.*t);
[xx1,yy1] = fplot(x1,[0,2],'k');
[xx2,yy2] = fplot(x2,[0,2],'--k');
hold on
h1 = plot(xx1,yy1,'k');
h2 = plot(xx2,yy2,'k');
hold off;
set([h1 h2],'LineWidth',2)
legend('x','y');
title('plot');
xlabel('t');
ylabel('d');

  0 Comments

Sign in to comment.

Sign in to answer this question.

Products