如何在 Charts for iOS 的 BubbleChartView 中获得一致的气泡大小

How to get consistent bubble sizes in BubbleChartView in Charts for iOS

编辑

我花了很长时间试图找到 BubbleChartDataEntry.size 和 BarLineChartViewBase 之间的关系。leftAxis/rightAxis 最小值和最大值。我似乎找不到联系。我正在尝试获取与轴度量单位相对应的绝对大小的气泡,而不是每组的标准化大小,其中最大的 BubbleChartDataEntry.size 是图表的高度。

感谢任何解决以下问题的帮助。请停止投票以关闭此功能。我需要一些帮助。


iOS 有一个非常棒的 Cocoapod,我正在尝试称为 Charts。

假设我有一个 BubbleChartView,其中 leftAxis 或 rightAxis 的最小值和最大值为 0 和 20。

图表使用两个 BubbleChartDataEntry 气泡呈现,大小为 9 和 10。气泡与 left/right 轴的高度大致相同。

然后图表使用两个不同的 BubbleChartDataEntry 气泡呈现,大小为 4.5 和 5。这些气泡的高度也与 left/right 轴大致相同,尽管它们的大小是之前气泡的一半。

这似乎是由于气泡数据的规范化设置而发生的。如果禁用标准化,气泡会比以前大很多。

是否有渲染气泡的设置或建议方法,以便它们的大小使用与 left/right 轴相同的度量单位?例如,大小为 10 的气泡在 left/right 轴上的高度等于 10 个单位。

张贴以防这可能有帮助。现在我添加了一个额外的不可见气泡,其中气泡大小 = 轴的高度。所有可见的气泡都以与垂直轴上的单位相匹配的直径呈现。这可能是一个不寻常的用例,但它解决了需求。

我的回答可能有点晚了,但对于面临同样问题的任何人来说:

如果数据集中的数据量很少,气泡圈会调整为大圆圈的问题在于,由于图表试图缩放 X 轴 ,以便所有数据显示在一页中,因此您设置的圆圈大小变得太大了!

你可以做的是根据数据集中的数据数量动态设置集合中的气泡大小。

例如假设我的 X 轴 是从 0 到 10 而我 只有 2 个数据 在我的数据集中;为了获得小气泡,我必须将气泡大小设置为等于 x 轴的最大 x 值除以一个值,通常我将此除法值设置为 15 或 20 以获得小而漂亮的气泡,但你可以使用常数适合你。所以在这种情况下,气泡大小为 10/20 = 0.5。 例如,如果你有 20 个气泡以 x 轴的最大值为 20 的方式正常分布在你的 x 轴上,那么你可以将气泡大小设置为 20 / 20 = 1 以获得漂亮的小气泡。

另外不要忘记将 BubbleChartDataSet 的 normalizeSizeEnabled 属性 设置为 false,这样你就可以强制将气泡大小调整为特定大小,图表不会自动将其归一化。

我最终使用了 ScatterChart(因为我希望所有气泡的大小相同)并解决了我的问题。

so consider using ScatterChart if in your representation of data , you only care about two dimensions (like: x,y) and you want a fixe bubble size