私はあなたがこのライブラリ(https://github.com/danielgindi/Charts)を使用していると思う...私はチャート
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
}
のデリゲートメソッドを使用して、X軸を設定している私は、 'stringForValue'メソッドを使用してみましたが、それは与えました私は前と同じ結果を返します – Kasper
私はstringForValue()に渡されている値をデバッグします。私の経験では、Chartsライブラリは、書式を要求する値を独自に選択します。したがって、チャートにx値1,2,3,4,5がある場合は、stringForValue()に簡単なprint(value)を入れて、これらの値すべてに対して書式設定が要求されていることを確認できます。 – Alex
@Alex私は 'print(value)'メソッドをテストし、 '0,1.0,2.0 3.0,4.0,5.0,6.0,7.0'を出力しました ラベル配列が' let labels:[String ] = "m"、 "t"、 "w"、 "thu"、 "fri"、 "sat"、 "sun" – Kasper