Azzera filtri
Azzera filtri

How to colour a portion of a curve by red and remaining by black

4 visualizzazioni (ultimi 30 giorni)
I want to colour the lower portion of curve by red and broked curve and upper part of the curve by black as shown in the fig attached.
Code
clear all
format long
set(0,'DefaultAxesFontSize',20);
figure
load('EP_EP(1).mat','x'); %load only x
idx = x(3,:)>=0.16 & x(3,:)<=0.305003;
plot(x(3,:),x(1,:),'k--', 'LineWidth',2);
xlabel('$a$','FontSize',20,'interpreter','latex','FontWeight','normal','Color','k');
ylabel('$b$','FontSize',20,'interpreter','latex','FontWeight','normal','Color','k');
axis([0 .4 .3 1]);

Risposta accettata

Voss
Voss il 6 Giu 2024
Modificato: Voss il 6 Giu 2024
set(0,'DefaultAxesFontSize',20);
figure
load('EP_EP(1).mat','x'); %load only x
[~,idx] = max(x(3,:));
plot(x(3,idx:end),x(1,idx:end),'k', 'LineWidth',2); % solid black line
hold on
plot(x(3,1:idx),x(1,1:idx),'r--', 'LineWidth',2); % broken red line
xlabel('$a$','FontSize',20,'interpreter','latex','FontWeight','normal','Color','k');
ylabel('$b$','FontSize',20,'interpreter','latex','FontWeight','normal','Color','k');
axis([0 .4 .3 1]);
  6 Commenti
Atom
Atom il 7 Giu 2024
Thank you, Voss, for your support. I greatly appreciate your time and effort. My regards.

Accedi per commentare.

Più risposte (1)

John D'Errico
John D'Errico il 6 Giu 2024
Plot it as TWO curves, both on the same figure, one in red, one in black.
Use the hold command between the two calls to plot, so the two curves will be on the same figure.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by