๋ค์ ํ ๋ฒ ์๋
ํ์ธ์. ๋จผ์ ์ง๋ ํธ์ ์ด๋ ๊ฒ ๋นจ๋ฆฌ ์๋ตํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๋๋ ๋ค๋ฅธ ์ง๋ฌธ์ด ์์ต๋๋ค. ํ๋จ์ ๋ ์ด๋ธ์ด ์๋ ๋ง๋ ์ฐจํธ๋ฅผ ์์ฑํ ๋ ์ฒซ ๋ฒ์งธ ๋ ์ด๋ธ์ ๊ฐ ๋ง๋ ๋ฐ๋ก ์๋๊ฐ ์๋๋ผ ์คํ์
๋ฉ๋๋ค.
๋ฐ๋ชจ๋ฅผ ์ดํด๋ณด๊ณ ๊ทธ์ ๋ฐ๋ผ ๋ชจ๋ ์ค์ ์ ์ผ์น์์ผฐ์ต๋๋ค. chartView.isUserInteractionEnabled = false
chartView.chartDescription?.text = ""
chartView.drawBarShadowEnabled = false
chartView.rightAxis.drawGridLinesEnabled = false
chartView.rightAxis.drawAxisLineEnabled = false
chartView.rightAxis.drawLabelsEnabled = false
chartView.xAxis.avoidFirstLastClippingEnabled = true
chartView.xAxis.centerAxisLabelsEnabled = false
chartView.xAxis.drawLimitLinesBehindDataEnabled = false
chartView.xAxis.labelPosition = .bottom
chartView.xAxis.labelCount = 3
chartView.xAxis.axisMinimum = -0.5
chartView.xAxis.axisMaximum = 3
chartView.xAxis.drawGridLinesEnabled = false
chartView.fitBars = true
chartView.xAxis.granularity = 1
๋ค๋ฅธ ์์ฑ์ ์๋ํ ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์๋ดํด ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ๋ค์ ํ๋ฒ ๊ฐ์ฌํฉ๋๋ค
๋ค์์ ๊ทธ๋ํ๋ฅผ ์ค์ ํ๊ธฐ ์ํด ํธ์ถํ ์ ์ฒด ํจ์์ ๋๋ค. `func setUpChart(delegate: IAxisValueFormatter){
var dataEntries = [BarChartDataEntry]()
var barChartDataSet = BarChartDataSet()
for i in 0..<items.count {
let de = BarChartDataEntry(x: Double(i), yValues: [itemsValues[i]])
dataEntries.append(de)
}
barChartDataSet = BarChartDataSet(values: dataEntries , label: "Monthly Income")
chartView.isUserInteractionEnabled = false
chartView.chartDescription?.text = ""
chartView.drawBarShadowEnabled = false
chartView.rightAxis.drawGridLinesEnabled = false
chartView.rightAxis.drawAxisLineEnabled = false
chartView.rightAxis.drawLabelsEnabled = false
chartView.xAxis.avoidFirstLastClippingEnabled = true
chartView.xAxis.centerAxisLabelsEnabled = false
chartView.xAxis.drawLimitLinesBehindDataEnabled = false
chartView.xAxis.labelPosition = .bottom
chartView.xAxis.labelCount = 3
chartView.xAxis.axisMinimum = -0.5
chartView.xAxis.axisMaximum = 3
chartView.xAxis.drawGridLinesEnabled = false
chartView.fitBars = true
chartView.xAxis.granularity = 1
chartView.xAxis.valueFormatter = delegate
barChartDataSet.colors = ChartColorTemplates.colorful()
self.chartView.animate(xAxisDuration: 1.5, yAxisDuration: 1.5, easingOption: .easeInOutCirc)
let bcData = BarChartData(dataSet: barChartDataSet)
bcData.barWidth = 0.5
self.chartView.data = bcData
}`
avoidFirstLastClippingEnabled
๋นํ์ฑํ ํ์ฑํํ๋ฉด ํจ๊ณผ๊ฐ ์์ต๋๋ค. ๋ฒ๊ทธ์ฒ๋ผ ๋ณด์
๋๋ค.
๊บพ์์ ํ ์ฐจํธ์์ ๋น์ทํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ xAxis์ ์ฒซ ๋ฒ์งธ ๋ ์ด๋ธ์ด ๊บผ์ ธ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฐพ์ ์ ์ผํ ๋ฐฉ๋ฒ์ xAxis.centerAxisLabelsEnabled = true
๊ฒ์ด์ง๋ง ๊ฐ์กฐ ํ์๊ฐ ํด์ ๋ ๊ฒ์
๋๋ค.
์ฌ๊ธฐ ๋ด xAxis ์ฝ๋๊ฐ ์์ต๋๋ค. ์ด๋ค ๋์์ด๋ ํ์ํฉ๋๋ค.
func setupXAxisFormatting() {
let xAxis = lineChartView.xAxis
xAxis.enabled = true
xAxis.drawGridLinesEnabled = false
xAxis.drawLabelsEnabled = true
xAxis.drawAxisLineEnabled = false
xAxis.centerAxisLabelsEnabled = true //would rather fix another way
xAxis.labelPosition = .bottom
xAxis.labelTextColor = UIColor.gray
xAxis.labelFont = UIFont(name: Constants.Fonts.ProximaNovaBold, size: 15.0)!
xAxis.avoidFirstLastClippingEnabled = true
xAxis.spaceMin = 5
xAxis.valueFormatter = axisFormatDelegate
}
@Rnorback "xAxis ์ ์ฒซ ๋ฒ์งธ ๋ ์ด๋ธ์ด ๊บผ์ ธ ์์ต๋๋ค"์ ๊ฐ์ ๋ฌธ์ ๊ฐ ์๋๋ผ๊ณ ์๊ฐํฉ๋๊น? 'offeFirstLastClippingEnabled'๋ฅผ ๋๋ฉด '11/23'์ ์ผ์ชฝ์ผ๋ก ์ฝ๊ฐ์ ๊ณต๊ฐ๋งํผ ์ด๋ํด์ผ ํฉ๋๋ค.