2012-02-28 98 views
5

假设我有一个显示每年从1957年到2003年之间的数据线图Excel中 - 只显示10的倍数的轴,无论最小和最大

如果我格式轴和改变之间的间隔的标签〜10,所得到的标签将是

1997年

我想什么是有标签,像这样:

1960年

1970年

1980年

1990年

我怎么能显示出不改变图形的实际范围,后者的标签?也就是说,我希望图表显示的数据,从1957年到2003年(不只是1960年至2000年)所有;但我想标签在1960年开始3年。

有没有办法在Excel中实现这一点? (这是我处理的几十个图表的问题,因此编程或非特别解决方案是理想的,而不是手动设置每个范围标签。有时,首选间隔为5,有时为10,有时20等)

回答

0

如何创建额外的列和应用ROUND。然后可以为ax的标签设置此列。

+0

问题是刻度线不对应正确的日期。 1970年需要指向1970年的实际数字,而不是1966年,67年,68年,69年,71年,72年,73年或74年之间的任何数字,所有这些数字都会到1970年。 – supertrue 2012-02-28 20:11:02

4

这样做的简单方法是在'Year Row'下插入一行,然后更改字体颜色以匹配单元格背景(或者简单地降低行的高度),然后将3添加到上面年。 (见快照)

下一步只需将您的图表基于新行。

enter image description here

随访

这可能不是一直在我原来的问题,数据清楚每一个是一年,而不仅仅是1957年,67,77,但1957年, 58,59,60,61等 - supertrue 7分钟前

为了说明的目的,我为了1957年到1990年取得了一个样本。上述概念也适用于这些数据。格式化轴并将标签间的间隔更改为10.请参见下面的快照。

enter image description here

更多后续

通过这一解决方案,刻度线将不符合正确的日期。例如,1970年的标签将指向1967年的数据。我需要1970年的标签来指向1970年的实际数据。 - supertrue 19分钟

按照上面的概念,但使用下面的公式而不是A1 + 3中A2

=IF(MOD(A1,10)=0,A1,"") 

见快照。为了说明的目的,我故意保留了第2排的高度。

enter image description here

HTH

希德

+0

这可能不是我的原始问题 - 数据来自每年 - 不仅仅是'1957年,67年,77年',而是'1957年,58年,59年,60年,61年等。'# – supertrue 2012-02-28 20:01:43

+0

@supertrue:当你做我上面提到的,你可以随时格式轴并将标签间的间隔改为10.希望我能理解你的查询?如果没有,请随时纠正我:) – 2012-02-28 20:07:21

+0

使用此解决方案,刻度线不会对应于正确的日期。例如,1970年的标签将指向1967年的数据。我需要1970年的标签来指向1970年的实际数据。 – supertrue 2012-02-28 20:15:20

1

使用散点图,而不是Excel中的线图。它们看起来是一样的,但是有了散点图,你不会在x轴上有统一间隔的数据。你可以开始在1950年(或1960年)的x轴,和你的行会依然在开始1957年

enter image description here

+1

这对知道有用,但是这两个示例都会更改图的范围。根据原始问题,是否有可能将X轴始于1957年,而*标签*起始于1960年? – supertrue 2012-02-29 06:44:07

1

如果你绝对必须使用折线图,然后以最快的方式来解决你的问题是将伪数据添加到10的前一倍数,在这种情况下是1950。假数据可以是空单元格,或者甚至更好地明确这些数据不可用的事实。这里有一个例子(为了简洁起见,最多只能到1973年)。

enter image description here

说实话,我不喜欢线走势图。让它们看起来恰到好处真的很难。散点图在大多数情况下都更好。更容易定制。在Excel 2003中,只需将轴的“最小值”,“最大值”和“主要”单位分别编辑为1950,1980和10。不需要假数据。

要获取执行此操作的代码,只需在手动执行时录制宏。

enter image description here

+0

这很好理解,但是这种方法会改变图形的最小值和最大值。我希望能够做到的是保持最小值和最大值相同(在你的例子中,1957年到1973年),但是*标签*是轴上10的倍数。例如:1957年是最左边的数据点,但1960年是第一个标记的刻度线。 – supertrue 2012-02-29 06:53:59