Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS图表的BubbleChartView中获得一致的气泡大小_Ios_Swift_Ios Charts - Fatal编程技术网

如何在iOS图表的BubbleChartView中获得一致的气泡大小

如何在iOS图表的BubbleChartView中获得一致的气泡大小,ios,swift,ios-charts,Ios,Swift,Ios Charts,编辑 我花了很长时间试图找到BubbleChartDataEntry.size和BarLineChartViewBase.leftAxis/rightAxis最小值和最大值之间的关系。我似乎找不到任何联系。我试图得到与轴度量单位相对应的绝对大小的气泡,而不是每套的标准化大小,其中最大的BubbleChartDataEntry.size是图表的高度 感谢您对以下问题的任何帮助。请停止投票来结束这个。我需要一些帮助 我正在尝试一种非常适合iOS的Cocoapod,叫做Charts 假设我有一个Bu

编辑

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

感谢您对以下问题的任何帮助。请停止投票来结束这个。我需要一些帮助


我正在尝试一种非常适合iOS的Cocoapod,叫做Charts

假设我有一个BubbleChartView,其中左轴或右轴的最小值和最大值分别为0和20

图表由两个BubbleChartDataEntry气泡呈现,大小分别为9和10。气泡的高度与左/右轴的高度大致相同

然后使用两个不同的BubbleChartDataEntry气泡(大小分别为4.5和5)呈现图表。这些气泡的高度也与左/右轴相同,尽管它们的大小是以前气泡的一半

这似乎是由于气泡数据的标准化设置造成的。如果禁用规范化,气泡将比以前大得多


是否有设置或建议的方式渲染气泡,使其大小使用与左/右轴相同的度量单位?例如,大小为10的气泡在左/右轴上的高度等于10个单位。

如果这样做可能会有所帮助,则发布。现在我添加了一个额外的不可见气泡,气泡大小=轴的高度。所有可见气泡渲染时的直径与垂直轴上的单位匹配。这可能是一个不寻常的用例,但它解决了需求。

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

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

要防止出现这种情况,可以根据数据集中的数据数量动态设置数据集中的气泡大小

例如,假设我的X轴0到10,并且我的数据集中只有两个数据;为了得到小尺寸的气泡,我必须将我的气泡大小设置为x轴的最大x值除以一个值,通常我将这个除以值设置为15或20,以得到小的漂亮气泡,但你可以根据自己的情况设置常数。因此,在这种情况下,气泡尺寸为10/20=0.5。 例如,如果有20个气泡以x轴的最大值为20的方式在x轴中正常分布,则可以为漂亮的小气泡设置气泡大小20/20=1


另外,不要忘了将BubbleChartDataSet的normalizesEnabled属性设置为false,这样您就可以强制将气泡大小设置为特定大小,而图表不会自动对其进行规格化。

我最终使用了散点图(因为我希望所有气泡的大小都相同)解决了我的问题

请考虑使用<强>散射图< /强>如果在数据的表示中,只关心两个维度(如:x,y),则需要固定气泡大小


这似乎违背了气泡图的目的,气泡图使用半径来传递数据维度。我不熟悉您正在使用的软件包,但也许带圆圈符号的散点图可以满足您的需要?问题的一个例子是垂直轴min=0,max=10,气泡大小1,在轴上渲染为高度10。在另一个图表中,渲染的气泡大小为7,其高度也为10。例如,集中渲染的最大气泡高度为10,而不管实际大小值如何。我试图让气泡大小1与轴上的高度1相匹配,气泡大小7与轴上的7相匹配,等等,这不是气泡图的工作原理。气泡的实际大小与气泡位置的x/y刻度无关。气泡“大小”相对于其他气泡而不是x/y比例调整半径。我注意到这个库可以这样工作(我已经描述过)。但是对于轴、数据输入、数据集等有很多选项。文档很少,我想知道是否有关于如何根据左/右轴匹配气泡大小的设置或方法。