我想在Excel中制作直方图,这很容易使用数据分析工具箱.如果我想在vba中自动完成,我可以使用这个
post自动获取垃圾箱,然后设置参考范围.
当我想要平滑的分配线时出现问题.如果我将图表类型更改为散点图平滑线,它会将列高度彼此连接,这将类似于此图片中的蓝线:
但我真正想要的是紫色线(即直方图顶部覆盖的正态分布).如果数据偏斜或通常具有不同的分布,则不希望这样.反正是否有参考数据分布的自动覆盖? (像R那样的东西)最好使用宏,但任何输入都会很棒.
最佳答案 我在我的图表中添加了一个Trendline(红色),然后将Trendline格式化为“Polynomial”,它实现了类似于你的效果.
以下是一些以编程方式实现此目的的代码:
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
希望这可以帮助!