MATLAB Solve Matlab Legend Problem for Plotting Four Pairs of Time Series

  • Thread starter Thread starter Old Guy
  • Start date Start date
  • Tags Tags
    Matlab
Click For Summary
The discussion centers on an issue with plotting four pairs of time series where the legend entries do not match the colors of the lines in the plot. The user has successfully created the plot with two lines in each color but faces confusion in the legend, as the first two entries are both red and the second two are both black. To resolve this, a suggestion is made to differentiate the line styles in addition to colors. By using different line styles, such as solid and dashed, the legend can clearly indicate which line corresponds to which data series. Additionally, a link to relevant MATLAB documentation is provided for further guidance on line specifications.
Old Guy
Messages
101
Reaction score
1
I am trying to make a plot of four pairs of time series. The plot appears fine; I have two lines in each color as I want. The problem, in this case, is that the first two legend items both have red lines, and the second two both have black lines. I want each legend entry to match the color of the pair of lines on the plot. My code is below; I hope someone can help. Some comments on the code:

z is the counter - I have a loop that calculates the data and puts in into plotdata for each run. The four correspond to four values of p.

hold on
figure(1)
colors=['r' 'k' 'g' 'b'];
semilogy(plotdata(:,1),plotdata(:,2:3),colors(z))
xlabel('Time, {\itt}','FontSize',24,'FontName','Times New Roman')
ylabel('Fractional Population','FontSize',24,'FontName','Times New Roman')
set(gca,'FontSize',24,'FontName','Times New Roman')
grid on
legend(char({strcat('{\itp} =',num2str(p(1:z)'))}))

Thanks!
 
Physics news on Phys.org
If you had attached the plot, it would have been better. The code provided is not sufficient to generate the plot either.

What I understood is, you have same colour for two different lines, and then you can't make it out from the legend which one is which. Just change the line styles. Plot one with plot(...,'k'), another with plot(...,'--k'), and yet another with plot(...,'-ok'). You can put the same into the colors matrix and suitably modify your code as needed.

Check this documentation too:
https://in.mathworks.com/help/matlab/ref/linespec.html
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 0 ·
Replies
0
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K