How to plot like the inserted picture?

2 次查看(过去 30 天)
Hello guys,
I want to plot like the picture below in matlab:
Frage.PNG
Is it possible in Matlab?
In X-Axis is the Frequency.
Every row is a node and the colours are the values of the results.
  2 个评论
Daniel M
Daniel M 2019-10-23
Sure, you can use imagesc and then just play with the properties of the plot. In particular: YTick, YTickLabel, GridColor, GridAlpha, TickLength, YGrid, XMinorGrid, etc. etc. There are many to list. You can also manually add white lines if that's what you want.
Aj
Aj 2019-10-24
Hello Daniel,
Imagesc worked well, thanks for that! You can see below the result. But now i have a other little question: I want to have yticklabels in a for loop:
for a=1:nfiles
yticks([a])
yticklabels({matfiles(a).name})
end
Only the last row has a label, but i want that all rows have a label.
Maybe you can help.
bild.PNG

请先登录,再进行评论。

采纳的回答

Daniel M
Daniel M 2019-10-24
编辑:Daniel M 2019-10-24
You need to first collect all your values for yticks and labels, then set them all at once. For example
nfiles = 10;
for a = 1:nfiles
ticks(a) = a; % or whatever the ytick is
labels{a} = sprintf('Label %d',a);
end
figure
imagesc(magic(nfiles))
ax = gca;
set(ax,'YTick',ticks,'YTickLabel',labels);
set(ax,'YDir','normal')
Here is how you would add white lines.
x = [0.5 10.5]; % or however big your xaxis is
linelocs = [ticks(1:end-1) + 0.5]';
hold on
plot(x,[linelocs, linelocs],'w-','LineWidth',2)
And you can find the properties for the x-axis tick (length, colour, etc.) in here
xax = get(ax,'XAxis');

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Log Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by