how to plot data with small values
显示 更早的评论
I want to plot some result which shows how different is the model A from model B etc. My error is something zero. do you have any idea how I can show that the interpretation would be easy too?
Err 1 Err2 Err3 Err4 Err5
A 0.0142 0 0.0410 0 0
B 0 0 0.0138 0 0
C 0 0 0 0 0
D 0 0 0 0 0
E 0.0142 0 0 0 0
F 0 0 0 0 0
G 0 0 0 0 0
H 0.0135 0 0.0416667 0 0.0138889
采纳的回答
For example:
Xt = [{'Err1'} {'Err2'} {'Err3'} {'Err4'} {'Err5'}];
Yt = [{'A'} {'B'} {'C'} {'D'} {'E'} {'F'} {'G'} {'H'}];
M = [ 0.0142 0 0.0410 0 0
0 0 0.0138 0 0
0 0 0 0 0
0 0 0 0 0
0.0142 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0.0135 0 0.0416667 0 0.0138889];
figure(1)
bar3(M)
set(gca, 'XTickLabel', Xt)
set(gca, 'YTickLabel', Yt)
produces:

9 个评论
this is a classification problem. The error for the first class. for the second class etc. I want to link them together using method A then it can be comparable with method B etc
I have no idea what you want. This is the only way I can think of to plot the data you presented.
Thanks! lets see if anyone else give me an idea, if not, Iwill accept your suggestion
I did try to plot it as you said
Xt=[{'CCRC1'} {'CCRC2'} {'CCRC3'} {'CCRC4'} {'CPRC1'} {'CPRC2'} {'CPRC3'} {'CPRC4'}]; Yt=[{'A'} {'B'} {'C'} {'D'} {'E'} {'F'} {'G'} {'H'} {'I'} {'AF'} {'AFI'} {'AG'} {'AGI'} {'BF'} {'BFI'} {'BG'} {'BGI'} {'CF'} {'CFI'} {'CG'} {'CGI'} {'DF'} {'DFI'} {'DG'} {'DGI'} {'EF'} {'EFI'} {'EG'} {'EGI'} {'HF'} {'HFI'} {'HG'} {'HGI'} {'MNCN'} {'FI'} {'GI'}]; figure (1) bar3(M) set(gca,'XtickLabel', Xt) set (gca, 'YtickLabel', Yt)
But seems not working very well. if you look at the X axis , it does not show everything . On the other hand, the y axis is very narrow and cause problem. Do you have any suggestion? You can find the results in attachment
I have problems opening your ‘.xls’ file, since it is mixed string and numeric. I simulated your matrix with a same-size random matrix.
Try this:
set(gca, 'XtickLabel', Xt, 'FontSize',6)
set (gca, 'YTick', 1:36, 'YtickLabel', Yt, 'FontSize',6)
view([-45 45])
Did not work,
Here is the data in the attachment
What doesn’t work? It looks good to me.

You are right.I made mistake I used the previous "set" and then over right the last one. anyway I found the same figure as you did. I have one question before I accept your solution. can you please let me know whether you know how to plot it like following figure? because if you see your plot does not show for the last one (one columns before the last is dominating the other) . do you know how to plot it like attached file ?

The ribbon plot is about as close as we can get. You can change the width of the ribbons and rotate the plot to get the result you want:
[X,Y] = meshgrid(1:8, 1:36);
figure(1)
ribbon(Y, M, 0.1)
set(gca, 'Xtick', 1:8, 'XtickLabel', Xt, 'FontSize',6)
set (gca, 'YTick', 1:36, 'YtickLabel', Yt, 'FontSize',6)
view([50 50])
The Xt and Yt cell arrays stay the same. The meshgrid call is new, and the 0.1 is the ribbon width. Otherwise the data are the same.
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Discrete Data Plots 的更多信息
标签
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
