How to plot like the inserted picture?

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 日

1 投票

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');

1 件のコメント

Aj
Aj 2019 年 10 月 24 日
perfect, thank you very much!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

タグ

質問済み:

Aj
2019 年 10 月 23 日

コメント済み:

Aj
2019 年 10 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by