我有一组自动生成的图表,我需要稍微调整一下。我的Y轴从0到1000,但我有一些超出此范围的值。对于那些超过1000的值,我想在1000处绘制一个点,以提醒用户数据存在的事实。
所需特征:如果能够根据单元格值(即单元格值大于1000)更改单个数据点的格式,那将是非常棒的;这不是必要的,但它会使查看数据(近100个图表)变得更加容易。
谢谢!
答案 0 :(得分:0)
您可以通过添加值为1000的新数据系列在散点图上实现此效果,其中现有系列超过1000且其他位置有空白。必须对每个轴进行此操作,这些轴的值超过您设置的最大值。
例如,如果散点图上的最大Y值设置为10,则此处是一个小数据集和附加数据系列。
将新Y系列添加到图表时,您需要同时指定添加的Y系列和原始X系列范围。如果希望图例指示新数据点的含义,请提供描述性系列名称,
这是图表的(略微)清理版本,其中包含Y轴最大值和新数据点的图例条目。如果超过最大值的点位于X轴上,您将经历类似的过程。
答案 1 :(得分:0)
如果您使用宏来构建图表,是否介意使用宏首先向数据中添加其他列?你可以添加两个额外的列,第一个用这个简单的代码来调整你的一些数据:
ActiveCell.FormulaR1C1 = "= IF(RC[-1]>999, 1000,RC[-1])"
....then fill down
然后下一列有一个简单的数据点计数(稍后用于找到你正在修改的点):
Dim i as integer
Dim rng As Range
Set rng = Range("Your Range")
For Each Cell In rng
i = i + 1
cell.value = i
Next
现在绘制图形,就像使用宏一样,除非您现在使用“调整值”列。并添加此格式化宏:
Dim rng As Range
Dim Point As String
Set rng = Range("c2:c9")
For Each Cell In rng
If Cell.Value > 999 Then
Point = Cell.Offset(0, 1).Value
ActiveSheet.ChartObjects("Your Chart").Activate
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Points(Point).Select
Selection.MarkerStyle = -4105
With Selection
.MarkerStyle = 2
.MarkerSize = 25
.MarkerColor = 'Your Color (could base this off of the degree that it is above 1k)
End With
End If
Next
这对系统有点强烈的支持,但它会为你提供所需的东西。
祝你好运。-ZL