使用 Excel 绘制两个不同组排名变化的图表

使用 Excel 绘制两个不同组排名变化的图表

我与 Excel 图表发生了争执。以下是我的场景:

我有三列数据:Ranking1和 ,Ranking2它们Exp?分别是一个数字、一个数字和一个布尔值。我想创建一个折线图,显示每对排名(包含 和 的值的行Ranking1Ranking2的连接。我还希望使用布尔值为每个数据条目赋予两种颜色中的一种,具体取决于 的值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

应该根据值改变颜色或每个系列经验值

您可以更改msoThemeColorAccent1msoThemeColorAccent2您想要的任何颜色。

该脚本假设经验值在列中C

相关内容