【发布时间】:2017-08-29 20:41:27
【问题描述】:
我无法显示从 0-10K 运行的图。 目前我的计算范围为 0-100,看起来很棒。
目前:
如何将其保持在 0-100 之间并仅显示跳转到 10K ? 有可能吗?
问题是 0-100 在10K 中所占的比例很小,所以看起来很糟糕。
【问题讨论】:
-
您不想破坏 x 轴 - 您希望它是对数的:semilogx。 - 这将是显示数据的正确科学方式。
标签: matlab
我无法显示从 0-10K 运行的图。 目前我的计算范围为 0-100,看起来很棒。
目前:
如何将其保持在 0-100 之间并仅显示跳转到 10K ? 有可能吗?
问题是 0-100 在10K 中所占的比例很小,所以看起来很糟糕。
【问题讨论】:
标签: matlab
您可以在更接近的 x 坐标处绘制一个异常点,然后调整 XTick 和 XTickLabel 属性,使其看起来好像绘图范围中有一个中断。例如:
plot([1:20 25], 1./[1:20 10000]);
set(gca, 'XTick', [2:2:20 25], ...
'XTickLabel', strtrim(cellstr(int2str([2:2:20 10000].'))));
这是它创建的情节:
【讨论】:
也许您可以尝试在不同的间隙中对 x 点(用于第二个图)进行采样。您可以组合两个 x 采样点数组(每个数组具有固定间隙,但第一个间隙远小于第二个间隙)。然后绘制组合点。
这是一个代码示例:
clear;
close all;
clc;
gap1 = 0.2;
x_left = 1:gap1:3;
gap2 = 0.5;
x_right = 3+gap2:gap2:6;
x_ticks_for_plot = [x_left x_right];
x=x_ticks_for_plot;
y = sin(x);
plot(x,y);
xticks(x_ticks_for_plot);
还有剧情:
在您的情况下,第二个差距应该比第一个大得多,但这是相同的想法。
【讨论】: