Excel的日期轴标注算法

Abi*_*iel 5 excel vba

我经常在 Excel 中绘制时间序列数据,我发现折线图上的默认 Excel 日期轴标签非常难看。特别是,

1) 日期通常水平或垂直旋转,这会压缩绘图区域的空间并使日期标签更难阅读。这是因为有两个主要的刻度线。

2) 标签显示太精确:时间序列数据库通常会将每月时间序列之类的内容转储到电子表格中,日期值为 1/1/2001、2/1/2001 等。Excel 将尝试显示完整的 mm/默认情况下为 dd/yyyy 日期字符串,这对于较短的每日时间系列可能更可取,但对于非每日系列或长时间运行的系列则不受欢迎。在这些情况下,像 mm/yyyy 或 yyyy 这样的格式可能更可取。

我的问题是,是否有人已经编写了可以制作漂亮日期标签轴的好算法?水平标签仅带有足够远的刻度以适应这一点,并且随着数据开始覆盖越来越长的时间跨度(即从 1/1/2001 到 1/2001 到 2001 转换的标签),日期的智能格式设置。我最终将不得不使用 VBA 来编写它,但我可以翻译用另一种语言编写的算法。

谢谢。

Mik*_*keD 3

这不是一个真正的答案,但也许是一种肥料......我同意你的担忧,因为我经常遇到同样的麻烦。

Excel (2003) 不支持具有真实日期轴的图表(其中从 2 月 1 日到 3 月 1 日的距离为 28 个单位,从 3 月 1 日到 4 月 1 日的距离为 31 个单位)。我发现的最佳近似值(对于跨越 2-3 个月以上的图表)是

  • 使用 X/Y 图表
  • 手动将值 (X) 比例的最小值和最大值设置为表示一个月第一天的整数(例如,2010 年 2 月 1 日用整数 40210 表示)
  • 将主要单位设置为 30,42(一个月的平均长度 - Excel 无法执行可变主要刻度)
  • 将小单位设置为 7(这样我至少可以清楚几周)
  • 在 X 轴上使用自定义数字格式(例如“MMM-YYYY”)

有时,我会通过暂时将日期显示为“DD-MM-YYYY”来调整上述内容,并查看我的刻度达到了一个月的第一天,然后调整最小值以获得最佳值。日期范围越长,其准确性就越低。

希望至少有一点帮助......