首页 > 解决方案 > Excel 盒须图:使用 VBA 隐藏内部点

问题描述

有谁知道如何隐藏箱形图或晶须图的内部点?

这似乎很难,我多次看到相同的问题,但当时没有可用的描述。我使用以下代码循环生成多个图表,对我来说效果很好。

Set shp = wksData.Shapes.AddChart2(406, xlBoxwhisker, intLeft, intTop, intGraphWidth, intGraphHeight)
With shp.Chart
    .FullSeriesCollection(1).Name = strLegend
    .FullSeriesCollection(1).XValues = wksData.Range(wksData.Cells(lngRowA, xPosAxis), wksData.Cells(lngRowZ, xPosAxis))
    .FullSeriesCollection(1).Format.Line.ForeColor.RGB = RGB(intR, intG, intB)
    .FullSeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(intR, intG, intB)
    .FullSeriesCollection(1).Format.Fill.Transparency = 0.8
    .ChartGroups(1).GapWidth = 20
    .Parent.Name = "Chart " & strTARGET
    .HasLegend = True
    .Legend.Position = xlLegendPositionBottom
    .HasTitle = True
    .ChartTitle.Text = strTARGET
    .Axes(xlValue).HasTitle = True
    .Axes(xlValue).AxisTitle.Text = "[g/kg_fuel]"
    .Axes(xlValue).HasMajorGridlines = True
    .Axes(xlCategory).HasTitle = True
    .Axes(xlCategory).AxisTitle.Text = strX
    .Axes(xlCategory).HasMajorGridlines = True
End With

我已经尝试了所有可能的方法来通过宏记录器生成此代码,但它根本没有显示任何内容。

标签: excelvbaboxplot

解决方案


内置的 Excel 箱线图还没有完全熟透:

  • 格式化垂直轴。您可以更改刻度的最小值和最大值,但不能更改刻度间距。
  • 将标题向左或向右拖动,哦等等,你不能。
  • 还有更多。

用于内置 Excel 箱线图的 VBA 甚至更不成熟。VBA 无法访问您在格式化界面中可以执行的大部分操作,包括内点可见性。

您可以构建自己的箱线图,它使用常规的 Excel 图表和一些烟雾和镜子。请参阅我在Excel Box and Whisker Diagrams (Box Plots)上的教程。


推荐阅读