【问题标题】:plotting a curve in MATLAB with prefefined x-axis在 MATLAB 中使用预定义的 x 轴绘制曲线
【发布时间】:2016-08-24 16:49:12
【问题描述】:

我有两个向量:

x = [1, 2, 3, 5, 6, 10, 20, 50, 100]

y=[7, 1, 2, 4, 2, 1, 5, 1, 1];

我有兴趣在 MATLAB 中将 Y 绘制为 X 的函数。因此,这可以通过以下方式完成:

figure;
plot(x, y, '--rs');

其实上面的代码绘制的是曲线,只是x轴的间距好像是这样的:0,10,20,...,100。

我想要的是绘制一条曲线,该曲线仅显示 x 中的值作为 x 轴及其对应的 y 轴值。下图显示了 x 轴的示例。

任何帮助将不胜感激!

【问题讨论】:

  • 使用set(gca,'XTick',[(1:6) 10 20 50 100]) 是否符合您的要求,或者您真的希望 xticks 定期间隔?
  • 是的,但我希望 x 轴上的值等距。并且它们在y轴上的对应值非常清晰。因此可以清楚地读取曲线并查看每个 x 点的 y 点是什么。非常感谢
  • 好的,请看下面我的回答

标签: matlab plot


【解决方案1】:

不要使用plot(x,y) 进行绘图,而是使用plot(1:numel(x),y) 并使用XTick 和XTickLabels 属性来更改图形的标签以满足您的需要。

例子:

clc
clear

x = [1, 2, 3, 5, 6, 10, 20, 50, 100];

y=[7, 1, 2, 4, 2, 1, 5, 1, 1];

plot(1:numel(x),y,'--rs')

set(gca, 'XTick', 1:length(x)); %// Change x-axis ticks
set(gca, 'XTickLabel', x); %// Change x-axis ticks labels.

结果:

希望有帮助!

【讨论】:

  • 非常感谢
猜你喜欢
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 2022-01-18
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多