我怎样才能自动解决这两个图像的问题(使用适用于不同数据的代码)而不必为每个图固定轴范围(我有数百万个这些图)?
问题:轴范围应该更小
问题:轴范围应该更大
另外,我需要从第一个值到最后一个值正确标记轴(请参见评论中的示例)
非常感谢任何帮助。非常感谢你。
我怎样才能自动解决这两个图像的问题(使用适用于不同数据的代码)而不必为每个图固定轴范围(我有数百万个这些图)?
问题:轴范围应该更小
问题:轴范围应该更大
另外,我需要从第一个值到最后一个值正确标记轴(请参见评论中的示例)
非常感谢任何帮助。非常感谢你。
要设置轴限制和更好地可视化图表,您可以使用轴命令,如 axis([xmin xmax ymin ymax]) 参数设置图表边界。它应该可以帮助你。更多信息在这里: http: //www.mathworks.se/help/matlab/ref/axis.html
为了有一个完整的边界框使用box on
.
为了避免绘图周围出现大的空白空间(或根本没有空间),请使用xlim
and ylim
。尝试以下操作:
figure
plot(x,y)
box on
x1 = min(x);
x2 = max(x);
dx = x2-x1;
y1 = min(y);
y2 = max(y);
dy = y2-y1;
fc = 10/100 % this is a factor of 10% of empty space around plot
xlim([x1-dx*fc x2+dx*fc])
ylim([y1-dy*fc y2+dy*fc])
如果你想让一个刻度值出现在轴的开始和结束处,你可以通过 强制它set(gca,'Xtick',[values])
,其中值是你想要显示的那些刻度;或通过上述 xlimfloor
和ceil
ylim 最小和最大限制。
希望这是你需要的