检测excel气泡图气泡是否重叠或确定确切的气泡大小

时间:2019-01-14 15:32:51

标签: excel vba bubble-chart

我正在尝试根据世界地图和气泡制作一些图表,如下所示:

Coffee infographics

每个气泡代表一个国家,气泡的大小代表咖啡的产量(在此示例中)。国家的确切位置并不重要,只要它在正确的区域组中即可,但是我不能让泡沫重叠。

因此,我尝试编写一个宏,该宏将调整每个数据点的X和Y坐标,以使它们不重叠。

但是为此,我需要检测气泡是否重叠。我在想的只是用Xs和Ys检查气泡中心之间的距离,并与气泡半径比较。

因此,我的问题是:如何确定气泡的实际大小? (不是缩放比例,而是气泡的实际大小(给定比例)。我注意到它们根据最大的调整,这似乎是情节区域最小尺寸的固定比例。到目前为止,似乎是R =〜1.29 x最小的绘图区域尺寸,但是总是这样吗?

此外,如果我需要更改比例,它将如何精确地更改气泡大小? (比例尺200似乎并不对应于更大的sqrt(2)半径)

非常感谢!

吕克

1 个答案:

答案 0 :(得分:1)

Sub y()

Dim c As Chart
Dim s As Series
Dim p As Point

Set c = ActiveSheet.ChartObjects(1).Chart
Set s = c.SeriesCollection(1)
Set p = s.Points(1)

Debug.Print p.Left, p.Top, p.Width, p.Height         '   Will be the same height & width as circle.

End Sub