首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab -绘图;修改X轴值而不修改图形

Matlab -绘图;修改X轴值而不修改图形
EN

Stack Overflow用户
提问于 2016-05-26 07:55:17
回答 1查看 1K关注 0票数 1

下面的示例图是在循环的值存储上创建的(根据矩阵索引绘制的向量数据)。我想修改x轴上的值,在这种情况下,我想把它们除以100,而不改变地块。有什么简单的方法吗?

此外,我有类似的图形,我不仅想除以/或乘值,还想在不改变实际图形的情况下加或减值。我想要创建第二个向量,并将它们相提并论,但由于我有许多不同的图形,我想知道是否有GUI工具帮助我处理这个问题?或者是一些简单的代码行,以更改绘制向量所依据的索引。

感谢每一个建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-26 08:36:00

我建议更改绘制的数据的x值,而不是手动更改滴答标签。这有一个优点,你可以放大和滴答适当调整。通过使用绘图的句柄、读取XData属性并将其写入所需的修改,可以很容易地实现它。请注意,x的值保持不变,只有绘图本身的数据才会被更改。

代码语言:javascript
复制
% example data
y = linspace(-0.6,4.05,100)*1e8;
x = linspace(700,1100,100);

% plot figure
figure;                     % create a new figure
ph = plot(x,y);             % plot and store handle

% change x-values of plot
xp = get(ph,'XData');       % extract from plot using handle
xp = xp/100;                % modify x-data
set(ph,'XData',xp);         % write back to plot using handle

导致的阴谋:

另一种选择是手动更改标签。这有一个缺点,即最初修改的滴答保持不变,当你放大时不会被调整。因此,除非为绘图编写回调函数,否则不会得到任何额外的标记,这比建议的方法要复杂得多。不过,这里有一种只改变滴答声的方法:

代码语言:javascript
复制
xtick = get(gca,'XTick');
set(gca,'XTick',xtick,'XTickLabel',xtick/100);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37454817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档