Charts SwiftUI中的图表作为气泡图
我使用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
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)