2015-05-26 287 views
0

我有一个矩阵例如A = rand(60,60)。我想设置步长为:1:2:119的三维条形码(matlab bar3)中的x轴和y轴值。我已经尝试过,但它不适用于大型矩阵。注意,y轴是完美的,但x轴不是,它示出了从1到60。例如:如何在Matlab中设置Bar3绘图的x和y值?

Z = rand(60,60);[r,c] = size(Z); 
Y = 1:2:119; % y-axis value 
X = 1:2:119; % x-axis value 
bar3(Y,Z); set(gca,'XTick', X) 
+0

是bar3的一个R函数,还是Matlab? – lawyeR

+0

Duplicate:http://stackoverflow.com/questions/28991376/how-to-set-x-and-y-values-when-using-bar3-in-matlab – neuronet

回答

0

参见:xlimylim

Z = rand(60,60); 
[r,c] = size(Z); 
Y = 1:2:119; % y-axis value 
X = 1:2:119; % x-axis value 
bar3(Y,Z); 

xlim([X(1), X(end)]); 
set(gca,'XTick', X) 

ylim([Y(1), Y(end)]); 
set(gca,'YTick', Y) 

Sample Plot

蜱是超级拥挤的,但我只是在你的例子中指定的内容。

+0

非常感谢你的好评。这里,Y轴值是完美的,但X轴值并不完全对应于条形图,并且它太拥挤。我可以使它完全像y轴吗?我正在尝试但是...... –

+0

@DwarwarBhuiyan X轴缩放比例的长度取决于数据数组的大小。从['bar3']的文档(http://www.mathworks.com/help/matlab/ref/bar3.html):'当Y是矩阵时,x轴刻度范围从1到大小(Y ,1)和每行中的元素组合在一起.' – excaza

+0

非常感谢您的回复。但是关于这个话题的一个问题。如果我把它做成一个小矩阵,对于考试:bar3(rand(15,15)),则x轴值和y轴值显示完美,但对大矩阵不起作用,您是否有一些想法???我已经添加了代码:... figure; bar3(rand(15,15)) x = linspace(1,119,15); y = linspace(1,119,15); (gca,'XTickLabel',x) set(gca,'YTickLabel',y) –