2016-03-26 38 views
0

Plot imageMatlab的如何在一个情节

剧情使用`设置的x轴中添加值(GCA, 'XTICK',[1 10 20 50 100])

Plot with set(gca,'XTick',[1 10 20 50 100])

大家好! 我创建了一个函数scatter的图形,在x轴上只显示了三个值:[1 10 100]。 我想添加一些值,特别是我想显示[1 5 10 20 50 100]。 我该怎么做?

我的代码是:

line(contrast2*100, RNorm2,'color','black'); 
hold on 
scatter (contrast2*100, RNorm2,'y','filled'); 
set(gca,'XScale','log') 
set(gca,'XTickLabel',num2str(get(gca,'XTick').')) 
set(gca,'XTick',[1 10 20 50 100]) 
set(gca,'YScale','log') 
set(gca,'YTickLabel',num2str(get(gca,'YTick').')) 
grid on 
+0

欢迎来到SO!你试过什么了?作为第一个结果,使用谷歌搜索产生http://de.mathworks.com/help/matlab/creating_plots/change-tick-marks-and-tick-labels-of-graph-1.html。 HTH。 –

+0

是的,我尝试了set(gca,'XTick',[1 10 20 50 100]),但它在我的图表中不起作用:/ – Inis

+0

@Inis是否可以在上面的示例中包含该行,以便我们明白为什么也许没有工作? – Suever

回答

1

你想你设定XTickLabels之前,因为你是从XTicks本身的值建构你的XTickLabels设置你的XTick值。

目前发生的情况是,您有5个XTick值和3个标签。正因为如此,MATLAB将重复您必须为所有XTick位置填充标签的标签。

line(contrast2*100, RNorm2,'color','black'); 
hold on 
scatter (contrast2*100, RNorm2,'y','filled'); 
set(gca,'XScale','log') 
set(gca,'XTick',[1 10 20 50 100]) 
set(gca,'XTickLabel',num2str(get(gca,'XTick').')) 
set(gca,'YScale','log') 
set(gca,'YTickLabel',num2str(get(gca,'YTick').')) 
grid on 

更好的是,您没有真正的理由在这里手动设置XTickLabel。如果更改XTick位置,则会自动更新标签以反映新位置。

line(contrast2*100, RNorm2,'color','black'); 
hold on 
scatter (contrast2*100, RNorm2,'y','filled'); 
set(gca, 'XScale', 'log', ... 
     'XTick', [1 10 20 50 100], ... 
     'YScale', 'log')