plot one curve with two colors
Mostrar comentarios más antiguos
Dears, am plotting the response of an sensor with one curve in real time, and i want to plot this curve with two colors, depending on the values of the returned data, when data<500 the curve is plotted in "red" when data>=500 the curve is plotted in "green" so i need to plot one curve with two colors. best regards
Respuesta aceptada
Más respuestas (1)
Kelly Kearney
el 16 de En. de 2015
If you plot with a patch rather than a line, you can get the color change. Depending on how much the y-values oscillate across the boundaries, you may need to upsample your data first to get a clean color transition (this particular example needed a lot of upsampling, since the values switch back and forth so much... a smoother curve won't need that):
x = 1:100;
y = rand(1,100)*1000;
xi = linspace(x(1), x(end), 5000);
yi = interp1(x,y,xi);
ci = yi < 500;
h = patch([xi NaN], [yi NaN], [ci NaN]);
set(h, 'edgecolor', 'interp');
colormap([0 1 0; 1 0 0]);
1 comentario
gregor alexander
el 16 de En. de 2015
Categorías
Más información sobre Line Plots en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!