How can I put table cells in a plot title?

조회 수: 12 (최근 30일)
Ramo Rafsel
Ramo Rafsel 2020년 11월 10일
답변: Jemima Pulipati 2020년 11월 28일
I have two different table that contain data of variables. The first one contains the values and times of the variables and the second one contains the unit and the decimal point of each of the variables that I want to plot ( see the picture).
I have already made a loop that plots the data. I am trying to write something that compares the two tables, and then if the variable columns have both the same value (e. g. the same name of the variable), the unit and decimal point gets added into the plot title. This was my first idea:
Var1=T.Variable; %variable name column of the first table
Var2=AuswertungVorlage.Variable;%the variable name column of the second table
if cellfun(@isequal, Var1, Var2) %comparing both columns
title(Var1) %wrong and not completed.
The title that I would like to be printed should look somewhat like this : Variablename [unit] * 10^(decimal point).
Thanks a lot in advance for the help!
  댓글 수: 4
Mathieu NOE
Mathieu NOE 2020년 11월 10일
I can try to further help but the input data (U) is missing
Ramo Rafsel
Ramo Rafsel 2020년 11월 10일
편집: Ramo Rafsel 2020년 11월 11일
the input data (U) is the following, which I want to compare with the variables from the table that I uploaded a part of:
U ={'E1_ABD_FEventcnt','E1_LD_Act','H1_PRES_hPa','H2_PRES_S03mmHg','H2_PRESS','H2_TMP'};
I tried the following code, I get however no titles...
Var2=variableunits.Variable;% the variable name column of the second table
tf = strcmpi(U(k),Var2); % if one of the variable names (from u) match the Var2, the result is 1.
if (tf == true) % if the result is 1 or true -->
title(Var2,variableunits.unit,variableunits.Faktor)% --> plot the varable name, with the unit and the faktor
end
hold off

댓글을 달려면 로그인하십시오.

답변 (1개)

Jemima Pulipati
Jemima Pulipati 2020년 11월 28일
Hello,
From my understanding, you are trying to set the title of the plot with the values that are retrieved from any specific cells of the table.
Here is a sample code:
% Declaring some values for the table
Variable = {'H2TEMP';'H1TEMP'};
Decimal = [3;4];
units = {'mS/cm';'mS/cm'};
% Creating a sample table with some values
T = table(Variable, Decimal, units);
% Creating a string with the table values
titleString = append(T.Variable{1},' ',T.units{1}, num2str(T.Decimal(1)));
plot((1:10).^2);
% Puts the string created above as the title of the plot
title(titleString);
Here, the values from the first row of the table are retrieved and concatenated to form a string. This string is then passed onto the title of the plot.
The title in the output plot looks like this:
NOTE:
  1. num2str() is used to convert a number to a character array, which is useful while concatenating the strings.
  2. append() is used to combine strings

카테고리

Help CenterFile Exchange에서 Axis Labels에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by