You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于VBA优化散点图:实现X轴自动适配范围并添加趋势线

修改后的VBA散点图代码(适配X轴范围+添加趋势线)

以下是满足需求的完整代码,已针对X轴范围适配和趋势线添加做了修改:

Private Sub scatter_chart_Click()
    Dim xrng As Range
    Dim yrng As Range
    Dim xMin As Double, xMax As Double
    
    Set xrng = Range("A2:A51")
    Set yrng = Range("B2:B51")
    
    ' 获取X轴数据的最小和最大值
    xMin = WorksheetFunction.Min(xrng)
    xMax = WorksheetFunction.Max(xrng)
    
    Dim Chart1 As Chart
    Set Chart1 = Charts.Add
    
    With Chart1
        .ChartType = xlXYScatter
        .SeriesCollection.NewSeries
        .SeriesCollection(1).Name = "=""Price Versus Demand"""
        .SeriesCollection(1).XValues = xrng
        .SeriesCollection(1).Values = yrng
        
        ' 设置X轴自动适配数据的最小/最大值范围
        With .Axes(xlCategory) ' xlCategory对应X轴
            .MinimumScale = xMin
            .MaximumScale = xMax
            .MajorUnit = (xMax - xMin) / 5 ' 可选:自定义X轴主刻度间隔,按需调整
        End With
        
        ' 添加趋势线,并配置基础属性
        With .SeriesCollection(1).Trendlines.Add
            .Name = "=""趋势线""" ' 自定义趋势线名称
            .DisplayEquation = True ' 可选:显示趋势线公式
            .DisplayRSquared = True ' 可选:显示R²拟合度值
        End With
    End With
End Sub

关键修改说明:

  • X轴范围适配:通过WorksheetFunction.Min和WorksheetFunction.Max提取X数据列的极值,直接赋值给X轴的MinimumScale和MaximumScale,确保X轴完全贴合数据区间。如果需要优化刻度显示,可调整MajorUnit参数设置间隔。
  • 添加趋势线:调用SeriesCollection(1).Trendlines.Add为散点系列添加趋势线,同时可通过DisplayEquation和DisplayRSquared开启公式与拟合度显示,辅助数据相关性分析。

内容的提问来源于stack exchange,提问作者user4356954

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 05:33:24