我正在尝试制作一些基于世界地图和气泡的信息图表,有点像这样:

每个气泡代表一个国家,气泡的大小代表咖啡产量(在本例中)。国家的确切位置并不重要,只要它在正确的地区组,但我不能让泡沫重叠。
所以我正在尝试写一个宏来调整每个数据点的X和Y坐标,这样它们就不会重叠。
但要做到这一点,我需要检测气泡是否重叠。我的想法是简单地用Xs和Ys检查气泡中心之间的距离,并与气泡半径进行比较。
因此我的问题是:如何确定气泡的实际大小?(不是规模,而是给定规模的气泡的实际大小)。我注意到它们根据最大的一个进行调整,似乎是最小尺寸的绘图区域的固定比例。到目前为止,它似乎是R=~ 1.29 x最小绘图区维度,但情况总是这样吗?
另外,如果我需要改变比例,它到底是如何改变气泡大小的?( 200的比例似乎并不对应于sqrt(2)更大的半径)
提前谢谢你!
Luc
发布于 2019-01-14 23:48:50
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 Subhttps://stackoverflow.com/questions/54184481
复制相似问题