plot binary data over time to specific conditions
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi there,
I have some log data of a battery pack and its processor. The processor gives me some binary data (is a condition TRUE) in form of a cell.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1622033/image.png)
The first row represents the condition and each row after the first represents one log tick where I also have an "elapsedTime" vector containing the time i.e. the total log ticks are 19764, so also the elapsedTime vector is 19764x1.
Now I want to plot this battstatvector where on the y-axis I have my conditions (OCA, TCA, RSVD, etc.) and on the x-axis I want to plot the corresponding binary data over the elapsedTime.
All in all I want to plot something like this
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1622038/image.png)
where each 1 represents a dark color and a 0 represents a lighter color. Is this even possible in Matlab?
Best,
Philipp
0 Commenti
Risposta accettata
Voss
il 20 Feb 2024
Modificato: Voss
il 20 Feb 2024
load('battstatvector.mat') % a mat file containing a cell array like yours
battstatvector
figure('Position',[10 10 800 200])
names = battstatvector(1,:);
data = cell2mat(battstatvector(2:end,:).');
im = image(data,'CDataMapping','scaled');
clim([0 1]);
light_blue = [171 185 212]/255;
dark_blue = [37 66 108]/255;
colormap([light_blue; dark_blue])
xticks([])
yticks([])
n = size(data,1);
text(ones(1,n),1:n,names,'Color','w','FontWeight','bold')
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Axis Labels in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!