我有一张工作表,我使用数据库中的数据创建了一个饼图。饼图会根据显示的数据而变化,因此饼图的大小经常会发生变化。
如果切片足够小的话,我希望在切片外面用引线显示数据标签。
我已经完成了大部分工作,但问题是标签经常会弄乱,最终会相互重叠或看起来离其切片太远。这导致我在更新图表时必须手动重新定位标签。
这是更改数据后的图表示例。我们可以看到“property”和“redemption”重叠,而“macro”和“gold”距离太远,导致出现多余的引线。
是否有一些 VBA 脚本可以很好地重新定位标签而不会出现这些问题?内置的 excel 定位是不够的,因为它会尝试将一些标签放在足够大的切片内,这会因配色方案而导致标签难以辨认。
答案1
简而言之,您可以通过 VBA 操作标签,但我认为您将很难创建一种有效的算法来将标签整齐地放置在不断变化的饼图上。
我会建议一种饼图的替代方案(它们确实不是一个很好的图表替代方案,如果你感兴趣的话,可以在这里开始寻找把馅饼留着当甜点)。条形图是一种替代方法,既可用于显示数据,也可用于处理给您带来问题的标签问题。以下是您在示例中提供的数据的示例:
这里无需担心标签的放置或位置,投资名称始终与相应的条形图相邻,无需引线。百分比在相应的条形图中清晰标注,相对长度提供了其相对大小的视觉线索。可以进行排序以强调值(如示例中所示),也可以将其更改为静态(例如按字母顺序排列),以便在同一图表的不同版本之间轻松进行比较。