Matlab how to add values in the x-axis of a plot
使用`set(gca,'XTick',[1 10 20 50 100])绘制
嗨,大家好!
我创建了一个具有散点函数的图形,并且在x轴上仅显示了三个值:[1 10 100]。
我想添加一些值,特别是要显示[1 5 10 20 50 100]。
我怎样才能做到这一点?
我的代码是:
1 2 3 4 5 6 7 8 9
| 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 |
-
欢迎来到SO! 你都尝试了些什么? 谷歌搜索标题会产生de.mathworks.com/help/matlab/creating_plots/作为第一个结果。 HTH。
-
是的,我尝试使用set(gca,XTick,[1 10 20 50 100]),但在我的图形中不起作用:/
-
@Inis您可以在上面的示例中包含该行,以便我们了解为什么它可能行不通吗?
-
@Suever我只包含了它,并且我还添加了另一个图像:)
您要先设置XTick值,然后再设置XTickLabels,因为您是根据XTicks自身的值构造XTickLabels的。
当前正在发生的事情是您有5个XTick值和只有3个标签。 因此,MATLAB将重复您必须为所有XTick位置填充标签的标签。
1 2 3 4 5 6 7 8 9
| 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位置,标签将自动更新以反映新位置。
1 2 3 4 5 6
| 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') |