Matlab画图 横坐标为日期或字符串
时间: 2023-12-20 08:07:05 浏览: 514
[Matlab]以时间为横坐标作图.doc
5星 · 资源好评率100%
在 MATLAB 中绘制横坐标为日期或字符串的图形需要稍微复杂一些。以下是一些方法:
1. 使用 datetime 数据类型:使用 `datetime` 函数创建 datetime 变量,然后将其用作绘图的 X 数据。例如:
```
x = datetime('now') + caldays(0:10);
y = rand(1,11);
plot(x,y);
```
这将创建一个包含 11 个点的线图,其中横坐标为从现在开始的 11 天,纵坐标为随机数。
2. 使用 cellstr 数据类型:使用 `cellstr` 函数将字符串数组转换为 cellstr 数组,然后将其用作绘图的 X 数据。例如:
```
x = {'Jan', 'Feb', 'Mar', 'Apr', 'May'};
y = [1 3 2 4 5];
plot(x,y);
```
这将创建一个包含 5 个点的线图,其中横坐标为字符串 'Jan', 'Feb', 'Mar', 'Apr', 'May',纵坐标为相应的数字。
3. 使用 datenum 函数:使用 `datenum` 函数将日期字符串转换为序列号,然后将其用作绘图的 X 数据。例如:
```
x = {'01-Jan-2021', '15-Jan-2021', '01-Feb-2021', '15-Feb-2021'};
y = [1 3 2 4];
plot(datenum(x),y);
datetick('x', 'dd-mmm-yyyy');
```
这将创建一个包含 4 个点的线图,其中横坐标为日期 '01-Jan-2021', '15-Jan-2021', '01-Feb-2021', '15-Feb-2021' 的序列号,纵坐标为相应的数字。`datetick` 函数可用于格式化日期刻度标签。
希望这可以帮助您在 MATLAB 中绘制横坐标为日期或字符串的图形。
阅读全文