Using different line style to generate plot
8 views (last 30 days)
Show older comments
I want to use different line style to gengerate the plot, since there are three values overlap in the graph. I don't know how to modify the code, can somebody help me? Thanks.
4 Comments
Accepted Answer
Matt J
on 7 Jun 2023
Edited: Matt J
on 7 Jun 2023
N = 10:20:500;
err = rand(6,numel(N)); %fake
h = loglog(N,err');
[h.LineStyle]=deal('-','--','-.',':','--','--');
[h(end-1:end).Marker]=deal('o','x');
legend('left-end','right-end','mid-point','monte-carlo','leibniz','trapezodial',...
location='southwest')
xlabel('N')
ylabel('Error')
0 Comments
More Answers (2)
Chris Burschyk
on 7 Jun 2023
figure();
hold on
loglog(N,err(1,:)',"-")
loglog(N,err(2,:)',"--")
loglog(N,err(3,:)',"-.")
loglog(N,err(4,:)',":")
loglog(N,err(5,:)',"-^")
loglog(N,err(6,:)',"-v")
hold off
legend('left-end','right-end','mid-point','monte-carlo','leibnitz','trapezodial')
xlabel('N')
ylabel('Error')
Maybe something like this?
0 Comments
Vinayak Agrawal
on 7 Jun 2023
Hi Dan,
According to me this should be the possible updates in your code-
Use different line styles for each dataset in your plot, you can modify the `loglog` function call by specifying the 'LineStyle' parameter. Here is an updated version of your code with different line styles:
N = 10:20:500;
err = zeros(6,length(N));
for values = 1:length(N)
err(1, values) = abs(calculate_pi('left_end', N(values)) - pi);
err(2, values) = abs(calculate_pi('right_end', N(values)) - pi);
err(3, values) = abs(calculate_pi('midpoint', N(values)) - pi);
err(4, values) = abs(calculate_pi('monte_carlo', N(values)) - pi);
err(5, values) = abs(calculate_pi('leibniz', N(values)) - pi);
err(6, values) = abs(calculate_pi('trapezoidal', N(values)) - pi);
end
% Specify line styles
line_styles = {'-', '--', '-.', ':', '-', '-.'};
loglog(N, err', '*', 'LineWidth', 1.5, 'Markersize', 8, 'LineStyle', line_styles);
xlabel('N');
ylabel('Error');
title('Approximation Error vs. N for Different Pi Calculation Methods');
legend('left-end', 'right-end', 'mid-point', 'monte-carlo', 'leibniz', 'trapezoidal');
Here, the `loglog` function call is modified with the addition of the `'LineStyle'` parameter, which is set to a cell array of line styles. The order of the line styles must correspond to the order of the datasets in the matrix `err`. The resulting plot will have a different line style for each dataset.
Hope it helps!
0 Comments
See Also
Categories
Find more on 2-D and 3-D Plots 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!