plot binary data over time to specific conditions
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Voss
2024-2-20
编辑:Voss
2024-2-20
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')
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Axis Labels 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!