plot binary data over time to specific conditions
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Voss
le 20 Fév 2024
Modifié(e) : Voss
le 20 Fév 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')
2 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Axis Labels dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!