如何格式化xAxis标签iOS图表
我正在实现一个条形图,我已经成功地分配了数据和标签。然而,当我加载条形图时,它只显示我的标签的3/7,我不知道为什么 当我与图表交互时,标签会显示出来,但会出现故障 如果我没有很好地解释我自己,我很抱歉,但我已经上传了一个.gif显示我的问题 我真的需要一些关于xAxis上标签格式的帮助。非常感谢 提前谢谢如何格式化xAxis标签iOS图表,ios,swift,ios-charts,Ios,Swift,Ios Charts,我正在实现一个条形图,我已经成功地分配了数据和标签。然而,当我加载条形图时,它只显示我的标签的3/7,我不知道为什么 当我与图表交互时,标签会显示出来,但会出现故障 如果我没有很好地解释我自己,我很抱歉,但我已经上传了一个.gif显示我的问题 我真的需要一些关于xAxis上标签格式的帮助。非常感谢 提前谢谢 我想您已经使用了这个库()。。。我使用图表的委托方法设置了x轴 func ChartView() { xAxis.drawGridLinesEnabled = false
我想您已经使用了这个库()。。。我使用图表的委托方法设置了x轴
func ChartView()
{
xAxis.drawGridLinesEnabled = false
xAxis.drawLabelsEnabled = true
xAxis.labelPosition = .Bottom
xAxis.axisMinimum = 0.0
xAxis.labelCount = ITEM_COUNT
xAxis.granularity = 1.0
xAxis.valueFormatter = self
self.updateChartData()
}
func updateChartData()
{
self.chartView.data = nil
self.setChartData()
}
func generateLineData() -> LineChartData
{
let d = LineChartData()
let entries = NSMutableArray()
var weightstr = String()
var datestr = String()
entries.addObject(ChartDataEntry(x: Double(index), y: ( Double(dic[setvalue]as! String)!)))
let set = LineChartDataSet(values: entries as? [ChartDataEntry] , label: "X-title")
set.setColor(colorWithHexString("#FE1643"))
set.lineWidth = 2.5
set.setCircleColor( UIColor.whiteColor())
set.circleHoleColor = NSUIColor.greenColor()
set.circleRadius = 5.0
set.circleHoleRadius = 2.5
set.fillColor = UIColor.redColor()
set.mode = .HorizontalBezier
set.valueTextColor = UIColor.lightGrayColor()
set.drawValuesEnabled = true
set.valueFont = UIFont(name: "Exo-Regular", size: FOntSIZE(10.0))!
set.axisDependency = .Left
d.addDataSet(set)
return d
}
func setChartData()
{
let data = CombinedChartData()
data.lineData = self.generateLineData()
self.chartView.xAxis.axisMaximum = Double(months.count)-1
self.chartView.data = data
}
func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight)
{
print("chartValueSelected")
}
func chartValueNothingSelected(chartView: ChartViewBase)
{
print("chartValueNothingSelected")
}
func stringForValue(value: Double, axis: AxisBase?) -> String
{
return months[Int(round(value)) % months.count] as! String
}
我尝试使用
stringForValue
方法,但它给出的结果与以前相同,我将调试传递给stringForValue()的值。根据我的经验,图表库将自行“选择”要请求格式化的值。因此,如果您的图表有x个值1,2,3,4,5,您可以在stringForValue()中放入一个简单的打印(值),以验证所有这些值的格式是否都被请求。@Alex我测试了print(值)
方法,它打印了0,1.0,2.0 3.0,4.0,5.0,6.0,7.0
我想我弄错了,因为我的标签数组是让标签:[String]=“m”、“t”、“w”、“thu”、“fri”、“sat”、“sun”