How to combine 2 graphs in one legend entry?

33 次查看(过去 30 天)
Hello, i have 6 arrays of data that i want to plot but each 2 are combined. I already changed the colour of each plots so they fit together in my figure but now i have the problem that the legend doesn't works how i want to. The colours don't match.
Here's my code.
I want
plot(t_1,CH0_1,'r');
title('Measurement');
hold on;
plot(t_2,CH0_2,'r');
hold on;
% T1 and T2 combined together
plot(t_8,CH0_8,'m');
hold on;
plot(t_7,CH0_7,'m');
hold on;
% T7 and T8 combined together
plot(t_10,CH0_10,'b');
hold on;
plot(t_11,CH0_11,'b');
% T11 and T12 combined together
legend('Data1','Data2','Data3'); % Legend for all plots
Currently it looks like this. I want a legend where Data1 is red, Data2 magenta and Data 3 blue.
Can anyone help me here?

采纳的回答

Image Analyst
Image Analyst 2021-7-18
编辑:Image Analyst 2021-7-18
Try it this way, where you pass only the handles of some of the plots into legend(). Plus you don't need to call hold on over and over again. Once it's called, it's set until you call hold off or clear the axes.
%=======================================================
% Create sample data
numPoints = 10;
t_1 = 1:numPoints;
CH0_1 = rand(1, numPoints);
t_2 = 1:numPoints;
CH0_2 = rand(1, numPoints);
t_7 = 1:numPoints;
CH0_7 = rand(1, numPoints);
t_8 = 1:numPoints;
CH0_8 = rand(1, numPoints);
t_10 = 1:numPoints;
CH0_10 = rand(1, numPoints);
t_11 = 1:numPoints;
CH0_11 = rand(1, numPoints);
%=======================================================
% Now plot the data.
% Plot T1 and T2 combined together
h1 = plot(t_1,CH0_1,'r', 'LineWidth', 3);
fontSize = 16;
title('Measurement of CHO vs. t', 'FontSize', fontSize);
xlabel('t', 'FontSize', fontSize);
ylabel('CHO', 'FontSize', fontSize);
hold on;
plot(t_2,CH0_2,'r', 'LineWidth', 3);
% Plot T7 and T8 combined together
h2 = plot(t_7,CH0_7,'m', 'LineWidth', 3);
plot(t_8,CH0_8,'m', 'LineWidth', 3);
% Plot T10 and T11 combined together
h3 = plot(t_10,CH0_10,'b', 'LineWidth', 3);
plot(t_11,CH0_11,'b', 'LineWidth', 3);
% Show legend
legend([h1,h2,h3], 'Data1','Data2','Data3'); % Legend for all plots
grid on;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Legend 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by