How to plot like the inserted picture?

2 ビュー (過去 30 日間)
Aj
Aj 2019 年 10 月 23 日
コメント済み: Aj 2019 年 10 月 24 日
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');
  1 件のコメント
Aj
Aj 2019 年 10 月 24 日
perfect, thank you very much!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLog Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by