Charts SwiftUI中的图表作为气泡图

Charts SwiftUI中的图表作为气泡图,charts,swiftui,Charts,Swiftui,我使用SwiftUI中的图表获得气泡图,其中包含以下内容: func addData( ) -> BubbleChartData { let data = BubbleChartData() let dataSet = BubbleChartDataSet(entries: entries ) // assuming your `colorful` has same count as entries, otherwise you // you have to c

我使用SwiftUI中的图表获得气泡图,其中包含以下内容:

func addData( ) -> BubbleChartData {

   let data = BubbleChartData()

   let dataSet = BubbleChartDataSet(entries: entries )
   // assuming your `colorful` has same count as entries, otherwise you
   // you have to created explicit array of entries colors
   dataSet.valueColors = ChartColorTemplates.colorful() 
 
   data.addDataSet(dataSet)

   return data

}
ViewModel设置数据:

func bubbleEntries() -> [BubbleChartDataEntry] {
    
    return [
         
        BubbleChartDataEntry(x: 0.0, y: 1.0, size: CGFloat(20)),
        BubbleChartDataEntry(x: 1.0, y: 1.0, size: CGFloat(6)),
        BubbleChartDataEntry(x: 2.0, y: 1.0, size: CGFloat(8)),
        BubbleChartDataEntry(x: 3.0, y: 1.0, size: CGFloat(2)),
         
    ]

}
然后它转到UIViewRepresentable“

一切都很好

但是,如果我想对数据进行样式化,我会放宽大小限制吗

因此,如果我改为:

func addData( ) -> BubbleChartData {
    
    let data = BubbleChartData()

    let dataSet = self.entries

    let set0 = BubbleChartDataSet(entries: [dataSet[0]], label: "Dog")
    set0.drawIconsEnabled = false
    set0.setColor(ChartColorTemplates.colorful()[0], alpha: 0.5)
    set0.drawValuesEnabled = true
    data.addDataSet(set0)

    let set1 = BubbleChartDataSet(entries: [dataSet[1]], label: "Cat")
    set1.drawIconsEnabled = false
    set1.setColor(ChartColorTemplates.colorful()[1], alpha: 0.5)
    set1.drawValuesEnabled = true
    data.addDataSet(set1)


    return data
    
}
不知何故,数据现在返回这个值,而size变量丢失了

它从BubbleChartDataEntry更改为ChartDataEntry

[ChartDataEntry, x: 0.0, y 1.0, ChartDataEntry, x: 1.0, y 1.0, ChartDataEntry, x: 2.0, y 1.0, ChartDataEntry, x: 3.0, y 1.0]
图表在没有大小的情况下仍然有效

我错过了什么

多谢各位


BubbleChartDataSet显示相对大小,因此如果您为每个集合设置一个元素,则大小始终为默认值。相反,您需要为一个集合内的值设置颜色

请尝试以下操作:

func addData( ) -> BubbleChartData {

   let data = BubbleChartData()

   let dataSet = BubbleChartDataSet(entries: entries )
   // assuming your `colorful` has same count as entries, otherwise you
   // you have to created explicit array of entries colors
   dataSet.valueColors = ChartColorTemplates.colorful() 
 
   data.addDataSet(dataSet)

   return data

}

这将增加颜色值,而不是气泡的颜色。Thank.dataSet.setColors(ChartColorTemplates.color(),alpha:0.5)