How to add different colors to one line chart
65 views (last 30 days)
Rizwan Khan on 14 Sep 2020
I have a line plot, and i need it to change colour depending on some criteria.
I have the chart below, adn i want this charge to have different colors at different areas.
I've shown two charts below.
I want to change the colors of the top chart, depending on where the bottom chart is.
For eg. if the bottom chart is near 0, then show blue, if the bottom chart is up near 500 make the color of the top chart red, if the bottom chart is down near -500, then make the color of the top chart green.
All the documentation i've seen is about adding new lines with different colors, i don't want that, i want one line with multiple colors.
If someone can assist, that would be great.
Vinicius Pereira Mateus Borges on 15 Sep 2020
Edited: Vinicius Pereira Mateus Borges on 15 Sep 2020
The plot you asked about seems to be using the scatter function instead of plot function in MATLAB.
The scatter function can take 3 arguments: the values of the x-axis, the values of the y-axis and the colormap of the dots. For example:
fakedata = cumsum( randn(1000, 1) );
depth = linspace(1,10,1000);
scatter(1:1000,fakedata,100,depth,'filled') % 100 relates to the size of each dot
Even though the data is just random numbers, the interpretation of such a graph is that there is a negative correlation between the x-axis and y-axis (as x values increase, y values tend to decrease) and the 'depth' represented by the colors also has a negative correlation with the y-axis (as the colors get hotter, i.e. increase in value, the y values tend to decrease).
More Answers (1)
Walter Roberson on 14 Sep 2020
It is not possible in MATLAB for one Chart Line Object to have multiple colors.
For multiple colors you have a few possibilities:
- multiple line objects
- create a surface() with careful control over node colors and edge coloring configuration.
- create a patch() with careful control over node colors and edge coloring configuration.