在Matlab中绘制数据时出现问题(在x轴上设置月份和年份)

时间:2020-03-02 12:17:13

标签: matlab matlab-figure

我在MATLAB中具有以下表结构:

Year  Month  datapoint
1990   1        5
1990   2        7
.
.
.
1995   12       3

我想在y轴上绘制数据点,在x轴上绘制1990_1,1990_2 ...之类的东西。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以通过使用 get 函数获取该对象的句柄,然后直接修改属性来格式化XAxis的外观。

% Create example table
t = table();
t.Year = repelem(1990,72,1);
t.Month = [1:72].';
t.datapoint = [5:76].';

plot(t.datapoint)

% Get x axis
xaxis = get(gca,'XAxis');

% Format tick labels
xaxis.TickLabels = compose('%d_%d',t.Year,t.Month);

% Format interpreter
xaxis.TickLabelInterpreter = 'none';

% Limit number of ticks
xaxis.TickValues = 1:numel(t.datapoint);


根据您的评论,只看到第12个标签:

indx = 1:72;
indx(12:12:72) = 0;
indx(indx > 1) = 1;
xaxis.TickLabels(find(indx)) = {''}