Excel直方图 – 分布线

我想在Excel中制作直方图,这很容易使用数据分析工具箱.如果我想在vba中自动完成,我可以使用这个
post自动获取垃圾箱,然后设置参考范围.

当我想要平滑的分配线时出现问题.如果我将图表类型更改为散点图平滑线,它会将列高度彼此连接,这将类似于此图片中的蓝线:

《Excel直方图 – 分布线》

但我真正想要的是紫色线(即直方图顶部覆盖的正态分布).如果数据偏斜或通常具有不同的分布,则不希望这样.反正是否有参考数据分布的自动覆盖? (像R那样的东西)最好使用宏,但任何输入都会很棒.

最佳答案 我在我的图表中添加了一个Trendline(红色),然后将Trendline格式化为“Polynomial”,它实现了类似于你的效果.
《Excel直方图 – 分布线》

以下是一些以编程方式实现此目的的代码:

Sub AddPolynomialTrendline()
    Dim chrt As Chart
    Dim chrt_obj As ChartObject
    Dim trend As Trendline

    For Each chrt_obj In ActiveSheet.ChartObjects
    If chrt_obj.Name = "Chart1" Then
        With chrt_obj.Chart
            'the number after xlPolynomial is the order, which can be from 2 to 6
            Set trend = .SeriesCollection(1).Trendlines.Add(xlPolynomial, 6)
        End With
    End If
    Next chrt_obj
End Sub

希望这可以帮助!

点赞