我正在尝试根据世界地图和气泡制作一些图表,如下所示:
每个气泡代表一个国家,气泡的大小代表咖啡的产量(在此示例中)。国家的确切位置并不重要,只要它在正确的区域组中即可,但是我不能让泡沫重叠。
因此,我尝试编写一个宏,该宏将调整每个数据点的X和Y坐标,以使它们不重叠。
但是为此,我需要检测气泡是否重叠。我在想的只是用Xs和Ys检查气泡中心之间的距离,并与气泡半径比较。
因此,我的问题是:如何确定气泡的实际大小? (不是缩放比例,而是气泡的实际大小(给定比例)。我注意到它们根据最大的调整,这似乎是情节区域最小尺寸的固定比例。到目前为止,似乎是R =〜1.29 x最小的绘图区域尺寸,但是总是这样吗?
此外,如果我需要更改比例,它将如何精确地更改气泡大小? (比例尺200似乎并不对应于更大的sqrt(2)半径)
非常感谢!
吕克
答案 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