Using different line style to generate plot
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dan
el 7 de Jun. de 2023
Respondida: Vinayak Agrawal
el 7 de Jun. de 2023
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.![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1404764/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1404764/image.png)
4 comentarios
Respuesta aceptada
Matt J
el 7 de Jun. de 2023
Editada: Matt J
el 7 de Jun. de 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 comentarios
Más respuestas (2)
Chris Burschyk
el 7 de Jun. de 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 comentarios
Vinayak Agrawal
el 7 de Jun. de 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 comentarios
Ver también
Categorías
Más información sobre Two y-axis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!