如何做不同的比例在x maltab情节(多尺度在x轴)?

4视图(30天)
亲爱的朋友们,
我有一个“简单”问题,但我不能确定。在我的项目,我需要给不同的比例在x轴。因为在某些范围的信息并不重要。我做了一个简单的例子来证明我的问题,希望是足够清晰。
请检查我附的图片。 让我们假设我的“曲线”这是Y = X, X = [0:1:90]。然而,鉴于X = Y信息(1:B)并不重要,我只是想 缩小 或者让它更小,所以其他范围X =[0:]和[90]将扩大和容易阅读的信息。
让说= 30,B = 60, C = 90。(实际上,任何数量都可以,只是想做一个简单的例子。)任何人都可以建议我怎么做?提前谢谢。
我试着做(10:B),但情节后,B不变化的位置,所以不工作:(

接受的答案

埃米尔哈姆萨
埃米尔哈姆萨 2020年10月29日
没有内置命令在MATLAB做这样的事。其中一个解决方法是创建多个轴对象和无缝连接。这里指的是我的回答: //www.tianjin-qmedu.com/matlabcentral/answers/601147-extending-specific-y-axis-values

答案(1)

马修•诺伊
马修•诺伊 2020年10月29日
你好
忘记我的第一次尝试(删除)
希望更好的代码。
%让我们产生一些数据
X = [0:1:90];
Y = 2 * X;
% A, B段索引
indA =一句子);%第一值
indB = (61:91);%将最后一个值
ind_shr = (max (indA): 10: min (indB));%缩水的部分数据
XA = X (indA);
丫= Y (indA);
XB = X (indB);
YB = Y (indB);
X_shr = X (ind_shr);
Y_shr = Y (ind_shr);
%绘制矢量/索引
X_shr_plot = X_shr(1) +(0:长度(X_shr) 1);
XB_plot = X_shr_plot(结束)+ 1(0:长度(XB));
图(1)
情节(XA,是的,“b”X_shr_plot Y_shr,“——b”XB_plot YB,“b”网格);
x_vector_ticks = [XA X_shr (2: end-1) XB];%为Xtick删除标签的第一个和最后一个元素X_shr(他们已经出现在XA(结束)和XB (1)
ci = 1:长度(x_vector_ticks)
XtickLabel {ci} = num2str (x_vector_ticks (ci));
结束
xticks(0:长度(x_vector_ticks) 1)
xticklabels (XtickLabel)
包含(“X值”)
ylabel (“Y值”)
2的评论
马修•诺伊
马修•诺伊 2020年11月4日
你好
是的,我承认这有点trickky——但另一个选择不工作在我的旧的matlab。
我用来做复杂的东西,现在更容易与更新的matlab

登录置评。

类别

找到更多的在天气和大气科学帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!