微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更改散点图上的点标记、大小和颜色

如何解决更改散点图上的点标记、大小和颜色

我正在尝试创建一个散点图,其中每个绘图点的点颜色、标记大小和标记样式是根据我的数据表中的参数设置的。

我的表格有大约 50 行数据,分为 A 到 F 六列。A 列 = 名称,B = X 坐标,C = Y 坐标,D = 标记大小,E = 标记样式,F = 标记颜色。我正在尝试绘制一个散点图,其中每个点的形状、大小和颜色都与其他点不同,具体取决于表中该行的相应列中的值。

我已经构建了 VBA 来创建散点图,它运行良好,并且点标签正常工作,这表明我从表格中的每个点获取了正确的信息。然而,当我尝试改变大小、形状和颜色参数时,所有的点都会发生变化(即它们都变成紫色大小为 5 的三角形),而不是每个点都由自己的参数驱动。

在这里难住了。非常感谢任何帮助或建议。

解决方法

我不确定你的情况是什么,但我得到了以下代码来处理下面的电子表格。

Sample Scatterplot and data

Sub TestScatter()
    Dim p As Point
    Dim i As Long

    ActiveSheet.ChartObjects("Chart 1").Activate
    i = 1
    For Each p In ActiveChart.SeriesCollection(1).Points
        i = i + 1
        p.MarkerSize = Cells(i,4)
        Select Case Cells(i,5)
            Case "Circle"
                p.MarkerStyle = xlMarkerStyleCircle
            Case "Square"
                p.MarkerStyle = xlMarkerStyleSquare
            Case "Triangle"
                p.MarkerStyle = xlMarkerStyleTriangle
            Case Else
                p.MarkerStyle = xlmarkerstyledefault
        End Select
        Select Case Cells(i,6)
            Case "Red"
                p.MarkerBackgroundColor = RGB(255,0)
                p.MarkerForegroundColor = RGB(255,0)
            Case "Green"
                p.MarkerBackgroundColor = RGB(0,255,0)
                p.MarkerForegroundColor = RGB(0,0)
            Case "Blue"
                p.MarkerBackgroundColor = RGB(0,255)
                p.MarkerForegroundColor = RGB(0,255)
            Case Else
                p.MarkerBackgroundColor = RGB(0,0)
        End Select
    Next p
End Sub

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。