我与 Excel 图表发生了争执。以下是我的场景:
我有三列数据:Ranking1
和 ,Ranking2
它们Exp?
分别是一个数字、一个数字和一个布尔值。我想创建一个折线图,显示每对排名(包含 和 的值的行Ranking1
)Ranking2
的连接。我还希望使用布尔值为每个数据条目赋予两种颜色中的一种,具体取决于 的值Exp?
。我在下面附上了一张手绘图片来说明这一点。
到目前为止,我已经能够将所有数据绘制在图表上,其中每行被归类为单个系列。如下所示,这很接近但不是我想要的。
我正在寻找一种方法压缩根据布尔值将数据分成单个系列,这样对于下面的图例,我们只有两个系列,而不是约 60 个系列。可以这样做吗?
答案1
一种方法是更改每个系列的颜色。手动操作会很麻烦,但可以通过选择图表并运行此脚本来完成:
For i = 1 To ActiveChart.FullSeriesCollection.Count
If Range("C" & i + 1) Then
With ActiveChart.FullSeriesCollection(i).Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
End With
Else
With ActiveChart.FullSeriesCollection(i).Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent2
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
End With
End If
Next i
应该根据值改变颜色或每个系列经验值
您可以更改msoThemeColorAccent1
为msoThemeColorAccent2
您想要的任何颜色。
该脚本假设经验值在列中C