如何用日期标记 x 轴?

2023-12-03

我似乎无法弄清楚如何在 Matlab 中绘制不按数字顺序排列的日期。我需要的日期是从 1 月 22 日到 2 月 1 日,但是当我将其放入 Matlab 中时,它从 1 日开始按数字顺序排列。所以我想知道如何获取它,以便它按照我的列表顺序排列。

这是我制作的代码:

date = [22 23 24 25 26 27 28 29 30 31 1 2 3 4];
in_bed = [3 8 26 76 225 298 258 233 189 128 68 29 14 4];
convalescent = [0 0 0 0 9 17 105 162 176 166 150 85 47 20];
plot(date,in_bed,'*',date,convalescent,'*')
xlabel('Janurary -- Feburary')
ylabel('Number of Cases')
legend('Confined to bed','Convalescent')
title('Influenza Outbreak')

您是否考虑过与实际工作日期格式?这样你的时间参数就可以按时间顺序排列。

首先做一些准备工作:

days = [22 23 24 25 26 27 28 29 30 31 1 2 3 4];
months = [1 1 1 1 1 1 1 1 1 1 2 2 2 2];
year = repmat(2015,numel(days),1);

in_bed = [3 8 26 76 225 298 258 233 189 128 68 29 14 4];
convalescent = [0 0 0 0 9 17 105 162 176 166 150 85 47 20];

创建一个datevec(日期向量)

dateVector = [year(:) months(:) days(:)];

并将其转换为双精度值datenum:

date = datenum(dateVector); 

绘制并修复 x 刻度

plot(date,in_bed,'*',date,convalescent,'*')
set(gca,'XTick',date)  %// if you leave this step, labeling is dynamic!

定义标签的格式datetick:

datetick('x','dd-mm','keepticks')

and voilà: enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用日期标记 x 轴? 的相关文章

  • MATLAB 中的多个捕获组

    我有一个包含数字或字母的字符串a 可能紧随其后的是r or l 在 MATLAB 中 以下正则表达式返回为 gt gt regexp 10r 0 9 a l r match ans 10r 我希望10 and r分开 因为我有两个捕获组 有
  • 将相同的 Patch 实例添加到 matplotlib 中的多个子图中

    我正在尝试将补丁的相同实例添加到 matplotlib 中的多个轴 这是最小的例子 import matplotlib pyplot as mpl plt import matplotlib patches as mpl patches f
  • 不等间隔时间序列的移动平均线

    我有一个证券交易所股票价格的数据集 时间 价格 但数据点之间的间隔并不相等 从 1 到 2 分钟不等 在这种情况下计算移动平均值的最佳实践是什么 如何在Matlab中实现呢 我倾向于认为 点的权重应该取决于自上一个点以来的最后时间间隔 Ma
  • 句柄类和值类的区别

    我有一些 C 背景 想使用 Matlab 中的类 句柄和值类有什么区别 我知道如果我想定义一个带有重载运算符 例如 和 的矩阵类 我会使用值类 然而 有时 当我选择一个手柄类时 事情似乎只对我有用 MathWorks 提供了一些有关其用途的
  • Matlab:保存后翻转图例顺序和图例重叠图

    我正在尝试根据以下内容反转我的图例条目顺序matlab条形图中图例颜色的逆序 https stackoverflow com questions 31178005 reverse ordering of legend colors in m
  • Matlab 字段名索引[重复]

    这个问题在这里已经有答案了 所以我有一个包含多个表的元胞数组 我试图访问表的第一个列名称 c table1 table2 table3 以下两行都给了我错误 fieldnames c 1 1 fieldnames c 1 1 Error i
  • 如何有效地将多个 rgl 图连接成一个图?

    我用以下命令制作了 3D 绘图rgl打包我的数据的每个因子级别并将它们保存为 png 我的数据有 30 个不同的级别 从而产生了 30 个不同的图像文件 现在我想将这些 png 合并成一个图 我会这样显示它们 下面的例子说明了我想做的事情
  • MATLAB 特征函数

    我很好奇哪里可以找到完整的描述FEATURE功能 它接受哪些论点 没有找到文档 我只听说过memstats and getpid 还要别的吗 gt gt which feature built in undocumented 注意 更完整的
  • R 在设置宽度和高度的 PDF 中缩放绘图元素

    尽管发送到 PDF 的 R 图可以在插图或页面布局软件中随意重新缩放 但科学期刊通常坚持提供的图具有特定的尺寸 是否可以直接在 R 中在给定 PDF 大小内缩放所有绘图元素的大小 require ggplot2 p lt qplot dat
  • 基本 R 图:帮助减少多个图之间的空间

    我试图减少一个窗口中多个绘图之间的空间量 但无法实现我想要的 情节和代码如下 我想将图例保留在原处 但减少 B 和 C 之间的空间 如何将图 C 向左 移动到靠近图 B 的位置以模仿 A 和 B 之间的间距 同时保持图例就位 我希望传奇是独
  • Altair 中的世界地图 + 滑块 (Python)

    我想使用 Python 中的 Altair 库构建一个带有世界地图的交互式图表 其中包含每个国家 地区的 COVID 19 确诊病例和日期滑块 数据格式 country region date confirmed cases Afghani
  • python 中 matlibplot 中散点图的缩放轴

    我正在使用 matlibplot 进行数据可视化 我的绘图共有 6502 个数据值 运行良好 但值接近且密集 例如 我的 y 轴值范围在 3 到 10 之间 我需要清楚地获取它们之间的每个点 即像 9 2 和 9 8 这样的值至少要以 1
  • 如何使绘图的 xtick 标签成为简单的绘图?

    我不想用单词或数字作为 x 轴的刻度标签 而是想绘制一个简单的绘图 由直线和圆圈组成 作为每个 x 刻度的标签 这可能吗 如果是这样 在 matplotlib 中处理它的最佳方法是什么 我会删除刻度标签并将文本替换为patches http
  • pyplot,为什么x轴不显示?

    我正在尝试根据日期绘制一些值 但是 不幸的是我没有在 x 轴上获得任何值 我觉得这可能有两个因素造成 这些值存储为 日期 因此使过程变得复杂 由于日期将在 x 轴上占据太多空间 因此它变得太混乱 因此这就是为什么我只看到一条黑线 请让我知道
  • 黑白随机着色的六角格子

    我正在尝试绘制一个 10 000 x 10 000 随机半黑半白的六边形格子 我不知道如何将该格子的六边形随机填充为黑色和白色 这是我真正想要从这段代码中得到的示例 但我无法做到 https i stack imgur com RkdCw
  • matlab中的排列函数是如何工作的

    这是一个有点愚蠢的问题 但我似乎无法弄清楚排列在 matlab 中是如何工作的 以文档为例 A 1 2 3 4 permute A 2 1 ans 1 3 2 4 到底是怎么回事 这如何告诉 matlab 3 和 2 需要交换 哇 这是我迄
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • 如何在 matlab 中创建由多个 3d 图像数据数组组成的数组

    我正在阅读 15 张图片imagedata imread imagename jpg 它的大小总是320 by 320 by 3 如何将数据放入数组中 使用 for for 循环 以便在访问新数组的第一个元素时获得输入的第一个图像的 RGB
  • ROC曲线和libsvm

    给定一条 ROC 曲线plotroc m see here http www csie ntu edu tw cjlin libsvmtools roc curve for binary svm 理论问题 如何选择要使用的最佳阈值 编程问题
  • Matlab 的 imresize 函数中用于插值的算法是什么?

    我正在使用 Matlab Octaveimresize 对给定的二维数组重新采样的函数 我想了解如何使用特定的插值算法imresize works 我在Windows上使用八度 e g A 1 2 3 4 是一个二维数组 然后我使用命令 b

随机推荐