我有这个图表,如果任何一个点在图形超过特定的限制,那么它的颜色应该改变。
的数据任何人都可以建议我如何得到图表中,然后应用这种条件,例如,我想改变颜色的最高点在上面的图表。任何帮助将不胜感激。
sqougxex1#
使用:ActiveWorkbook.Sheets("Sheet1").ChartObjects("Chart1").Chart.SeriesCollection(1)每个点的颜色为.Points(PointNumber).Interior.Color需要循环的点数为.Points.Count每个点的值为.Points(PointNumber).Value标记本身的颜色(仅限于折线图、散点图和雷达图):
ActiveWorkbook.Sheets("Sheet1").ChartObjects("Chart1").Chart.SeriesCollection(1)
.Points(PointNumber).Interior.Color
.Points.Count
.Points(PointNumber).Value
.Points(PointNumber).MarkerBackgroundColor = RGB(0,255,0) ' green .Points(PointNumber).MarkerForegroundColor = RGB(255,0,0) ' red .Points(PointNumber).MarkerStyle = xlMarkerStyleCircle ' change the shape
字符串
mlmc2os52#
让我们采用另一种方法,它不需要任何代码。假设您的数据位于A列(序列号或时间)和B值中,从A2和B2开始,因为您的标签位于A1和B1中。我们将向图表添加一个系列,其中包括B列中的任何偏差值。此系列将在任何偏差点的前面绘制一个标记,因此原始点仍然存在,而不是重新格式化此点,新系列显示一个点。在单元格C1中,输入“Deviant”。在单元格C2中,输入一个检测偏差点的公式,如:
=IF(OR(B2>upperlimit,B2<lowerlimit),B2,NA())
字符串如果列B超过上限和下限,则将值放入列C,否则将#N/A放入列C,#N/A将不会导致绘制点。复制C列中的数据,选择图表,然后选择性粘贴为新系列。将此系列格式化为没有线条和任何您想要用来指示失控点的醒目标记。
2条答案
按热度按时间sqougxex1#
使用:
ActiveWorkbook.Sheets("Sheet1").ChartObjects("Chart1").Chart.SeriesCollection(1)
每个点的颜色为
.Points(PointNumber).Interior.Color
需要循环的点数为
.Points.Count
每个点的值为
.Points(PointNumber).Value
标记本身的颜色(仅限于折线图、散点图和雷达图):
字符串
mlmc2os52#
让我们采用另一种方法,它不需要任何代码。
假设您的数据位于A列(序列号或时间)和B值中,从A2和B2开始,因为您的标签位于A1和B1中。我们将向图表添加一个系列,其中包括B列中的任何偏差值。此系列将在任何偏差点的前面绘制一个标记,因此原始点仍然存在,而不是重新格式化此点,新系列显示一个点。
在单元格C1中,输入“Deviant”。
在单元格C2中,输入一个检测偏差点的公式,如:
字符串
如果列B超过上限和下限,则将值放入列C,否则将#N/A放入列C,#N/A将不会导致绘制点。
复制C列中的数据,选择图表,然后选择性粘贴为新系列。将此系列格式化为没有线条和任何您想要用来指示失控点的醒目标记。