Help with Legend for Plot

12 visualizaciones (últimos 30 días)
Alex
Alex el 12 de Nov. de 2022
Respondida: Alex el 12 de Nov. de 2022
I am struggling to clean up the legend for the final figure. I only want to label y3T1, y4T1, y5T1, y6T1, and y7T1. I've tried using the plot editor but can't seem to figure out how to only have those specific data points only.
Attached is the main script (T1) the curve fits (T1Fit) and the raw data i'm working with.
Appreciate any help!

Respuesta aceptada

Alex
Alex el 12 de Nov. de 2022
Solved it! I had to call the certain indices for p1-p5 in the legend.
legend([p1(1),p2(1),p3(1),p4(1),p5(1)], 'CuSO4-0.625%', 'CuSO4-1.25%', 'CuSO4-2.5%', 'CuSO4-5%','CuSO4-10%')

Más respuestas (2)

VBBV
VBBV el 12 de Nov. de 2022
clc; % Clear the command window.
close all;
filename = 'amplitudeT1cleaned.xlsx';
data = readtable(filename);
Warning: Column headers from the file were modified to make them valid MATLAB identifiers before creating variable names for the table. The original column headers are saved in the VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
VN = data.Properties.VariableNames
VN = 1×9 cell array
{'MineralOil'} {'Glycerol'} {'CuSO40_625_'} {'CuSO41_25_'} {'CuSO42_5_'} {'CuSO45_'} {'CuSO410_'} {'tau'} {'t0_625'}
tau = table2array(data(:,8))/1000;
y= table2array(data);
y1= table2array(data(:,1));
y2= table2array(data(:,2));
y3T1= table2array(data(:,3));
y4T1= table2array(data(:,4));
y5T1= table2array(data(:,5));
y6T1= table2array(data(:,6));
y7T1= table2array(data(:,7));
t1 = table2array(data(:,9));
figure(1)
plot(t1,y3T1,t1,y4T1,t1,y5T1,t1,y6T1,t1,y7T1)
grid
xlabel('Time')
ylabel('Amplitude')
legend(VN{3:7}, 'Location', 'best')
Warning: Error updating Legend.

String scalar or character vector must have valid interpreter syntax:
CuSO410_
err = std(y3T1)/length(y3T1)
err = 0.0492
err1 = std(y4T1)/length(y4T1)
err1 = 0.0421
err2 = std(y5T1)/length(y5T1)
err2 = 0.0328
err3 = std(y6T1)/length(y6T1)
err3 = 0.0159
err4 = std(y7T1)/length(y7T1)
err4 = 0.0136

Walter Roberson
Walter Roberson el 12 de Nov. de 2022
errarbar(t1,y7T1,err4)
That should be errorbar() not errarbar()
legend('CuSO4-0.625%', 'CuSO4-1.25%', 'CuSO4-2.5%', 'CuSO4-5%','CuSO4-10%')
change that to
legend([p1;p2;p3;p4;p5], {'CuSO4-0.625%', 'CuSO4-1.25%', 'CuSO4-2.5%', 'CuSO4-5%','CuSO4-10%'})
  3 comentarios
Walter Roberson
Walter Roberson el 12 de Nov. de 2022
Reminder that people typically cannot examine fig files from their phone, so images are typically more useful than fig files
Alex
Alex el 12 de Nov. de 2022
Sorry I didn't Think about that!

Iniciar sesión para comentar.

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by