首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改散点图上的点标记、大小和颜色

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

Stack Overflow用户
提问于 2021-01-20 08:17:45
回答 1查看 263关注 0票数 0

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

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

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

被难住了。非常感谢您的帮助或建议。

EN

回答 1

Stack Overflow用户

发布于 2021-01-20 08:54:32

我不确定在你的情况下的细节是什么,但我得到了以下代码来工作在下面的电子表格。

代码语言:javascript
复制
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, 0)
                p.MarkerForegroundColor = RGB(255, 0, 0)
            Case "Green"
                p.MarkerBackgroundColor = RGB(0, 255, 0)
                p.MarkerForegroundColor = RGB(0, 255, 0)
            Case "Blue"
                p.MarkerBackgroundColor = RGB(0, 0, 255)
                p.MarkerForegroundColor = RGB(0, 0, 255)
            Case Else
                p.MarkerBackgroundColor = RGB(0, 0, 0)
                p.MarkerForegroundColor = RGB(0, 0, 0)
        End Select
    Next p
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65801430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档