danielgindi/Charts - iOS - 在条形图上的特定条上方设置标签
danielgindi/Charts - iOS - Set Label above Specific bar on bar chart
我在 swift 中为我的 iOS 项目使用 danielgindi/Charts 库。具体来说,我使用的是条形图,其中每一天(x 轴)代表某个值(y 轴)。我知道我们可以通过在图表数据上设置 setDrawValues
来在每个柱上绘制值。
我需要显示其他内容而不是该值,假设我想通过将 "Today" 标签放在柱上方来突出显示今天的柱。
谁能指导我该怎么做?
谢谢
我认为解决您的任务的最简单方法是使用自定义值格式化程序。您可以控制哪些值可见或隐藏。例如。
import Charts
class MyValueFormatter: IValueFormatter {
var xValueForToday: Double? // Set a value
func stringForValue(_ value: Double, entry: ChartDataEntry, dataSetIndex: Int, viewPortHandler: ViewPortHandler?) -> String {
if entry.x == xValueForToday {
return "Today"
} else {
return String(value)
}
}
}
并使用它
myBarChartView.barData?.setValueFormatter(MyValueFormatter())
myBarChartView.barData?.setDrawValues(true)
我在 swift 中为我的 iOS 项目使用 danielgindi/Charts 库。具体来说,我使用的是条形图,其中每一天(x 轴)代表某个值(y 轴)。我知道我们可以通过在图表数据上设置 setDrawValues
来在每个柱上绘制值。
我需要显示其他内容而不是该值,假设我想通过将 "Today" 标签放在柱上方来突出显示今天的柱。
谁能指导我该怎么做?
谢谢
我认为解决您的任务的最简单方法是使用自定义值格式化程序。您可以控制哪些值可见或隐藏。例如。
import Charts
class MyValueFormatter: IValueFormatter {
var xValueForToday: Double? // Set a value
func stringForValue(_ value: Double, entry: ChartDataEntry, dataSetIndex: Int, viewPortHandler: ViewPortHandler?) -> String {
if entry.x == xValueForToday {
return "Today"
} else {
return String(value)
}
}
}
并使用它
myBarChartView.barData?.setValueFormatter(MyValueFormatter())
myBarChartView.barData?.setDrawValues(true)