MATLAB坐标设置:范围、主次坐标等常见问题
坐标范围一般说明
% 设置x轴范围和刻度
set(gca,'XLim',[0 10]); % X轴的数据显示范围
set(gca,'XTick',[0:1:10]); % 设置要显示坐标刻度
set(gca,'XTickLabel',[0:1:10]); % 给坐标加标签
set(gca,'XMinorTick','on'); % 次刻度线
set(gca,'XTickLabelRotation',30); % 刻度标签旋转
set(gca,'TickDir','in' ); % 刻度线方向
% 设置y轴范围和刻度
set(gca,'YLim',[95 101]); % X轴的数据显示范围
set(gca,'YTick',[95:1:101]); % 设置要显示坐标刻度
set(gca,'YTickLabel',[95:1:101]); % 给坐标加标签
% 设置当前坐标轴x轴和y轴的限制范围
axis( [xmin xmax ymin ymax] )
% 修改坐标轴字体
set(gca,'FontSize',12,'Fontname', 'Times New Roman');
1 MATLAB坐标轴主次刻度线问题
(1)打开次刻度:
set(gca,'xminortick','on');
(2)设置主刻度:
yearStart = 2000;
yearEnd = 2020;
nYear = yearEnd-yearStart+1;
set(gca,'XTick',yearStart:4:yearEnd);
(3)设置次刻度:
ax = gca;
ax.XAxis.MinorTickValues = 1:1:nYear+1;
(4)设置刻度线长度(高度和宽度):第一个元素是二维视图中的刻度线长度,第二个元素是三维视图中的刻度线长度。指定值是以可见的 x 轴、y 轴或 z 轴中最长线条为基准进行归一化的值。详见Axes 属性-坐标区的外观和行为
ax.TickLength = [0.008 0.025];
成图如下所示:
2 MATLAB绘制图像时调整坐标轴及网格线至最顶层
可参见另一博客-MATLAB绘制图像时调整坐标轴及网格线至最顶层
MATLAB在绘制图形时,会出现图像遮挡坐标轴,网格线等情况,此时,如何调整图层的先后顺序呢?
于末尾添加代码如下:
set(gca,'Layer','top');
经修改后,图形如下所示,可见问题已经解决~
3 坐标轴刻度设置
3.1 坐标轴刻度朝外
set(gca,'TickDir','out')
疑问: 此方法只能设置将各方向坐标轴刻度朝外,如何设置某单个坐标轴刻度方向呢?
3.2 去除图像右边和上边的刻度线
box off
ax2 = axes('Position',get(gca,'Position'),...
'Color','none',...
'XAxisLocation','top',...
'YAxisLocation','right',...
'XColor','k','YColor','k');
set(ax2,'YTick', []);
set(ax2,'XTick', []);
4 设置边框粗细
通过以下代码可设置边框粗细:
set(gca,'LineWidth', 1); % 设置坐标轴线宽
成图如下:
如何设置所有边框粗细呢?