BarChartView
์ฌ์ฉํ์ฌ ๋ง๋ ์ฐจํธ๋ฅผ ๋ง๋ค์์ต๋๋ค. ๋ณด๊ธฐ์๋ ํ๋ฃจ์ ์์
์๊ฐ์ด ํ์๋ฉ๋๋ค.
์ํ๊น๊ฒ๋ ์ผ๋ถ ๋ง๋๋ ์ ํ ๋ ๋๋ง๋์ง ์๊ณ ๋ค๋ฅธ ๋ง๋๋ ์ ์ฒด ์ฐจํธ๋ฅผ ๋๋ ๋์ ์ฌ๋ผ์ง๋๋ค.
์ฐจํธ๊ฐ ์ฒ์ ํ์๋๊ธฐ ์ ์ ํ ๋ฒ์ 7 ๊ฐ์ ๋ง๋ ๋ง ํ์๋๋๋ก ํ๋ / ์ถ์๋ฉ๋๋ค.
barChart.zoom(scaleX:ceil(CGFloat(dataSet.xMax - dataSet.xMin) / 7), scaleY: 1, x: 0, y: 0)
๊ทธ๋ฐ ๋ค์๋ณด๊ธฐ์ ์ ๋๋ฉ์ด์ ์ด ์ ์ฉ๋๋ฏ๋ก ์ต๊ทผ ๋ ์ง๊ฐ ๋จผ์ ํ์๋ฉ๋๋ค.
barChart.moveViewToAnimated(xValue: dataSet.xMax, yValue: dataSet.yMin, axis: barChart.rightAxis.axisDependency, duration: 0.8, easingOption: .easeInOutSine)
์ด๊ฒ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ก ์ด์ด์ง๋๋ค.
์ฐจํธ๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ๋๋๊ทธํ์๋ง์ ๋ง๋๊ฐ ์ฌ๋ผ์ง๊ธฐ ์์ํฉ๋๋ค. ๊ฐ๋ง ํ์๋ฉ๋๋ค (Mo. 6 ์ผ ๋ง๋๋ ์ฌ๋ผ์ง).
๋ํ ๋ ์ผ์ชฝ์ ์์ผ๋ฏ๋ก (ํ๋ / ์ถ์๋ก ์ธํด) ์ฆ์ ํ์๋์ง ์๋ ๋ชจ๋ ๋ง๋๋ ์ ํ ๋ ๋๋ง๋์ง ์์ต๋๋ค. ๋ด๊ฐ ๋ญ ์๋ชปํ๊ณ ์๋?
๋จผ์ ๋น์ ์ชฝ์์ ๋๋ฒ๊ทธ๋ฅผํด์ผํฉ๋๋ค.
barRect๋ฅผ ๊ณ์ฐํ๋ fileprivate func prepareBuffer(dataSet: IBarChartDataSet, index: Int)
์ดํด๋ณด์ญ์์ค.
ํ๋ / ์ถ์ ์ ํ์ barRect๊ฐ ๋๋ฝ ๋ ์์ธ์ ๋๋ฒ๊น
ํ์ญ์์ค.
์ผ๋ถ ๋ง๋๊ฐ ์์ง ์๊ณ ๋ ์ด๋ธ ์์น๊ฐ ์ ํ ํด ๋ณด์ธ๋ค๋ ์ฌ์ค์ ๊ฐ์ํ ๋ ๋์๊ด์ด๋ ์ฌ์ฉ์์ ๊ฐ๋จํ ์ค์ ์ผ ์ ์์ต๋๋ค.
ChartsDemo๋ก ์ฌํ ํ ์ ์๋ค๋ฉด ๋ ์ฌ์ธ ๊ฒ์ ๋๋ค.
๋ฌธ์ ์ ๋ํ ํ ์คํธ ์ผ์ด์ค ๋ฅผ ๋ง๋ค ์์์์ต๋๋ค. ๋ถํํ๋ ์ค์ ๋ก ์์ธ์ ํ์ ํ ์ ์์ต๋๋ค.
ํ
์คํธ ์ผ์ด์ค๋ฅผ ์คํํ๋ ค๋ฉด Xcode 8.2.1
์ ์๋ฎฌ๋ ์ดํฐ iPhone 6 (10.2)
์์ ๋์ ChartsDemo
๋ฅผ ์ฌ์ฉํ์ญ์์ค. ๊ทธ๋ฐ ๋ค์ ์ฐจํธ๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ๋๋๊ทธํ๋ฉด Tue 7th
์ ๋
น์ ๋ง๋๊ฐ ์ฌ๋ผ์ง๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ฃผ๋ชฉํ ๋งํ ์ : ํ ์คํธ ์ผ์ด์ค์ ์ฝ๋๋ ์์ฑ ์ฐจํธ ๋ ์ด๋ธ์ ๋ํ์ด ํ ์์ฒญ์ ๊ธฐ๋ฐ์ผ๋ก
๋น ๋ฅธ ํ์ธ์ ์ํํ๋๋ฐ ๋ชจ๋ ๋๋ฝ ๋ ๋ง๋๊ฐ ์ค๋จ ์กฐ๊ฑด์ ์ถฉ์กฑํฉ๋๋ค.
if (!viewPortHandler.isInBoundsLeft(barRect.origin.x + barRect.size.width))
{
continue
}
if (!viewPortHandler.isInBoundsRight(barRect.origin.x))
{
break
}
ํ์ง๋ง ์์ธ์ ์ค๋ช ํ ์ ์์ต๋๋ค. barRect 'seem'์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ณ์ฐ๋ฉ๋๋ค.
๊ทํ์ ์ง์์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๋ง ๊ฐ์ฌ!
ํ ์์ฒญ์ผ๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋์ง ๋ค์ ์๊ฐํ์ต๋๋ค. ํ์คํ ๋ณ๊ฒฝ๋ ๊ฒ์ ์ถ ๋ ์ด๋ธ์ด ๊ทธ๋ ค์ง๋ ๋ฐฉ์์ ๋๋ค. ์ถ ํญ๋ชฉ ๋๋น์ ์ํฅ์ ๋ฏธ์น๊ณ ๊ฒฐ๊ตญ barRect์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
๋ฌธ์ ๊ฐ a) ํ ๋ฆฌํ์คํธ์ ๋ฒ๊ทธ b) ์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฒ๊ทธ ๋๋ c) ๋จ์ํ ์๋ชป๋ ์ฌ์ฉ ๋๋ฌธ์ด๋ผ๋ฉด ์ด๋ป๊ฒ ์ขํ ์ ์์ต๋๊น?
๋ง์ง๋ง์ผ๋ก ํ์ธํ์ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ master๋ก ๊ต์ฒดํ๋ ค๊ณ ์๋ํ์ง๋ง ์ฌ์ ํ ๋ฒ๊ทธ๊ฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ต์ฒดํ๊ณ ์ฌํ์ธ์ ๋์ธ ์ ์์ต๋๋ค.
viewPortHandler.isInBoundsRight
๊ธฐ๋ฅ ๋ธ๋์น๊ฐ barRect ๊ณ์ฐ์ ๋ณ๊ฒฝํ์ง ์๋ ํ ์ํฅ์๋ฐ์ง ์์์ผํฉ๋๋ค.
์ง๊ธ์ ์๋ชป ์ฌ์ฉํ๋ค๊ณ ๋งํ ์ ์์ต๋๋ค. contentRect ๋ฐ bar rect edge ๋ฌธ์ ์ ๊ฐ์ต๋๋ค.
๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ์์ ๋ด๊ธฐ ์ํด ์ฌ๊ฐํ ๊ฐ์ฅ์๋ฆฌ๋ฅผ ์ดํด๋ณผ ์๊ฐ์ด๋ณ๋ก ์์ด์ ์ฃ์กํฉ๋๋ค. ๊ทธ๋ฌ๋ ChartsDemo๋ฅผ ์ฌ์ฉํ์ฌ ๋น์ทํ ์์ ์ ์ํํ์ฌ ์ฌํ ํ ์ ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
@danielgindi ์ด๋ค ์์ด๋์ด?
ํ ๋ฆฌํ์คํธ ๋์ด ๋ฌธ์ ์ ๊ดํ ์์์ด ์์ต๋๊น?
์๋ฌด๊ฒ๋? ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ด๋ป๊ฒํด์ผํฉ๋๊น?
@marbetschar ์ด ๋ฒ๊ทธ์ ๋ํด ๋ง์คํฐ ๋ธ๋์น๋ฅผ ๋ง์ง๋ง์ผ๋ก ์ฌ์ฉํ์ ๋๋ฅผ ๊ธฐ์ตํ๋ฉฐ ์ฌ์ ํ ๋ฐ์ํ๋ฏ๋ก PR๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
ํ์ง๋ง ๋งคํธ๋ฆญ์ค๋ฅผ ์ดํด๋ณผ ์๊ฐ์ด ์์ต๋๋ค.
์ฌ๊ธฐ์ ํต์ฌ์ ์ธ ๋ฌธ์ ๋ ์ ๊ทธ๊ฒ์ด ์กฐ๊ฑด์ ๋์ด์๋์ง๋ผ๊ณ ์๊ฐํฉ๋๋ค. bar rect๋ฅผ ๊ณ์ฐํ๋ ๋์ ๋ช ๋ฐฑํ ๋ฌธ์ ๊ฐ ๋ณด์ด์ง ์์ต๋๋ค.
์๊ฐ์ด ์์ผ๋ฉด barRect ๊ณ์ฐ์ ๋ณผ ์ ์์ต๋๋ค.
๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋งํ๋ฉด, ๋ง๋๊ฐ ์์ด๋ ๊ทธ ์์ ๋ ์ด๋ธ์ ์ ๊ฐ ์๊ฐํ๋ ์ฌ๋ฐ๋ฅธ ์์น์ ๊ทธ๋๋ก ์ ์ง๋๋ฏ๋ก barRect ๊ฐ์ฅ์๋ฆฌ ๋ฌธ์ ์ ๊ดํ ๊ฒ์ ๋๋ค.
์ ๊ฑฐ๋ฅผ ์๋ ํ ์ ์์ต๋๋ค.
if (!viewPortHandler.isInBoundsLeft(barRect.origin.x + barRect.size.width))
{
continue
}
if (!viewPortHandler.isInBoundsRight(barRect.origin.x))
{
break
}
๋ง๋๊ฐ ์ฌ๋ฐ๋ฅธ ์์น์ ํฌ๊ธฐ์ ์๋์ง ํ์ธํ์ฌ ๊ฐ์ฅ์๋ฆฌ ๋ฌธ์ ์ ๊ดํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
@marbetschar ๋๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๊น?
@jeffalee ์ํ๊น๊ฒ๋ ์์ง์ด ๋ฌธ์ ๋ฅผ
@marbetschar @jeffalee ์ด ๋ฌธ์ ๋ viewPortHandler์ ๊ด๋ จ์ด ์์ต๋๊น?
3.0.2์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ๋์ผํ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๊ฒ์ ๋ํ ๋์์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
self.chartView.data = getChartData() // .count == 25
self.chartView.setVisibleXRangeMaximum(10)
self.chartView.moveViewToX(20)
์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ผ๋ก ์คํฌ๋กคํ๋ฉด ๋ง์ง๋ง 10 ๊ฐ์ ๋ฐ์ดํฐ ๋ง๋ ๋ง ๋ ๋๋ง / ํ์๋ฉ๋๋ค.
๋ง์ง๋ง ๋ ์ค์ ์ ๊ฑฐํ๋ฉด ์ฐจํธ๊ฐ ์ ๋๋ก ๋ ๋๋ง๋ฉ๋๋ค.
@perwyl ๋ด ์ฝ๋์ ๋๊ฐ์ ๋ ์ค์ด ์์ต๋๋ค. ๊ทธ๋์ ๋๋ ๋น์ ์ด ๊ฐ์ ๋ฌธ์ ์ ๋ถ๋ช์ณค๋ค ๊ณ ์ฃผ์ฅํฉ๋๋ค. @ liuxuan30 ์ ์ฝ๊ฐ ์กฐ์ฌํ ๊ฒฐ๊ณผ ์ด๊ฒ์ด ์ค์ ๋ก viewPortHandler
์ ๊ด๋ จ์ด ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค.
๋ถํํ๋ ๋๋ ํ์ฌ ์ด๊ฒ์ ํํค์น ์๊ฐ์ด ์์ต๋๋ค. ์๋ํด ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
@marbetschar ์ข์. ํ์ธ ๊ฐ์ฌํฉ๋๋ค.
๋์ ๋ง๋ BarChartData()
๊ฐ์๋ CombinedChartView
์์ 3.0.2์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํ์๋๋๋ณด๊ธฐ ์ธ๋ถ์์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ๋ฐ์ดํฐ ํญ๋ชฉ์ ํ๋ / ์ถ์ํ๊ณ ๋๋ฉด ๋ง๋๊ฐ ์ฌ๋ผ์ง๊ณ ๋ฐ์ดํฐ ๋ ์ด๋ธ์ด ์์ต๋๋ค. ๋ํ ๋๋ .setVisibleXRangeMaximum()
์ ํํ๊ฑฐ๋ .moveViewToX()
๋ฅผ ํตํด ์ผ์ชฝ์ผ๋ก ์ด๋ํ์ง ์์ต๋๋ค.
๋ ๋ค๋ฅธ ์ด์ํ ๋์์ .highlightPerTapEnabled()
๋ฅผ ํตํด ๋ชจ๋ ๋ง๋๋ฅผ ์ ํํ ์ ์์ผ๋ฉฐ ์๋ฅผ ๋ค์ด 13 ์ธํธ์ ์ค์ ๋ง๋ ๋ง ์ ํํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ์ด๊ฒ์ด ์ ํ ๊ด๋ จ์ด ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
ํด๊ฒฐ : ๋ฌธ์ ๋ ๋ฐ์ดํฐ ํญ๋ชฉ์ด ์ญ์์ผ๋ก ์ ๋ ฅ๋๋ค๋ ๊ฒ์ ๋๋ค. x ๊ฐ์ ๋๋ ค ๋ฐ์ดํฐ ํญ๋ชฉ์ ์ ๋ ฌํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
@kscheff ์ด๋ค ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋ค๊ณ ๋งํ์ต๋๊น? ๋์ ๊ฒ๋ง ์๋๋ฉด @marbetschar ๋?
@ liuxuan30 @marbetschar ๊ทธ์ ๋ฌธ์ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๊ฐ์ ์ ๋ ฌํ์ฌ ํด๊ฒฐํ ์์๋ ๋๋ฝ ๋ ๋ง๋์ ์ ์ฌํ ๋ฌธ์ ๊ฐ ์์์ ํ์ธํ์ต๋๋ค. ๊ทธ๋์ @marbetschar ์๊ฒ ๋ฐ์ดํฐ ์ธํธ์ ํญ๋ชฉ์ ์ ๋ ฌํ๋ ค๊ณ ์๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
@kscheff ์ด๋ป๊ฒ ํด๊ฒฐํฉ๋๊น
Another strange behavior is that I cannot select all bars via .highlightPerTapEnabled(), only the center bar in a set of e.g. 13 is selectable. Not sure if this is related at all.
@perwyl ์ด ๋ฌธ์ ๋ ์ ๋ ฌ๊ณผ ํจ๊ป ์ฌ๋ผ์ก์ต๋๋ค.
@kscheff ๊ฐ์ฌํฉ๋๋ค! ๋๋ ์ค์ ๋ก return yVals.reversed()
ํ ํ์๊ฐ์๋ค. ์ด๊ฒ ๋ค์์๋ ๋
ผ๋ฆฌ๊ฐ ๋ฌด์์ธ์ง ํ์คํ์ง ์๋ค.
๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๋ฉด ํ๋ / ์ถ์ํ๋ฉด์ ์ฐจํธ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ํ์๋๋ค๋ ์ ์ด ์ข์ต๋๋ค. ์ ๋ ฌ ์์ ์ด ๊ธฐ๋ณธ์ ์ผ๋ก "notifyDataSetChanged"๋ฉ์๋์ ํฌํจ๋๊ฑฐ๋ ๋ค๋ฅธ ์์น์ ํฌํจ๋ ์ ์์ต๋๊น? PR์ํด์ผํฉ๋๊น?
๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง, ๊ทผ๋ณธ ์์ธ ๋ฑ์ ์ธ๋ถ ์ฌํญ์ผ๋ก PR์ ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์ด๊ฒ์ ๊ฝค ๋ง์ ์๊ฐ๊ณผ ๋ํ ์์ง๋ง์ด ๊ฒ์๋ฌผ๊ณผ ๋์ผํ ๋ฌธ์ ์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
์ด ์์ ์ ์ํํ๋ ค๋ฉด (๊ทธ๋ฆฌ๊ณ ๊ทธ๋์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค) ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ์ ๋ ฌ ๋ ๋ฐฉ์์ด์ด์ผํฉ๋๋ค.
์ ๋ ฌ ๋๋์ด ๋ฌธ์ ? ๋ด๊ฐ ๊ธฐ์ตํ๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฌ์ ์ฒ๋ฆฌํ์ต๋๋ค.
์ ๋ ฌ ๋๋์ด ๋ฌธ์ ? ๋ด๊ฐ ๊ธฐ์ตํ๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฌ์ ์ฒ๋ฆฌํ์ต๋๋ค.
๋ด๊ฐ๋ณด๊ธฐ์ ์ฐจํธ์์ ๋ฐ์ดํฐ์ ์๋ชป๋ ํํ์ ์ ๋ฐํ๋ฏ๋ก ์ ๋ ฌ ๋ ๋ฐ์ดํฐ๋ฅผ ์ค๋นํ๋ ๊ฒ์ด ๋ช
ํํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค (x ๊ฐ์ด ์์ผ๋ฏ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๊ทธ๋ฆฌ๋ ๋ฐ ํ์ํ๊ณ ์ถฉ๋ถํ ์กฐ๊ฑด์ด ์ ์ ๋จ). ๊ทธ๋ ๋ค๋ฉด ํฌ๋๋ ์๊ธ ์์กฑํ๊ณ ๋ช
ํํ์ง ์์ ์๊ตฌ ์ฌํญ์ ์๊ตฌํ์ง ์์์ผํ ๊น์? IMHO
๋๋ ๋ฉฐ์น ์์ PR์ ์ค๋น ํ ๊ฒ์ด๋ค.์ด ๋
ผ๋ฆฌ๊ฐ ๋ถ๋ช
ํ๊ธฐ๋ฅผ ๋ฐ๋๋ค.
๋ง๋ ์ฐจํธ๋ก๋ง ์์ ํ์ง๋ง. ์ผ๋ถ ์ ํ์ ์ฐจํธ๊ฐ ์ํฅ์๋ฐ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก ๋๋ ๊ทธ๊ฒ์ด ์ด๋ป๊ฒ ๋จผ์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ทธ๋ฆด ์ ์๋์ง ์ดํดํ์ง ๋ชปํ๊ณ ๋ ผ๋ฆฌ์ ๊ด์ ์์ ์ฐจํธ์ ํ๋ ๋ ๋ถ๋ถ์ ๊ทธ๋ฆฌ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
@ liuxuan30 ๋ด ์ดํด๋์ด ๋ฌธ์ ๋ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ง ์์ ๊ฒฐ๊ณผ๋ผ๋ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ๋ญ๊ฐ๋ฅผ ๋์น๊ณ ์์ต๋๊น?
์ฌ๊ธฐ์ ์ถ์ธกํ๊ณ ์์ง๋ง ๋ฐ์ดํฐ๊ฐ ํญ์ ์ ๋ ฌ๋์ด ์๋ค๋ฉด ๋ ๋๋ง์์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ๊ฐ์ ์ ํ ์๋ ์์ต๋๋ค.
์์งํ ๊ธฐ์ต์ด ์๋์. ๋ด๊ฐ ๋ง์ง๋ง์ผ๋ก ์ดํด๋ณธ ๊ฒ์
if (!viewPortHandler.isInBoundsLeft(barRect.origin.x + barRect.size.width))
{
continue
}
if (!viewPortHandler.isInBoundsRight(barRect.origin.x))
{
break
}
๋ ์กฐ๊ฑด ์ค ํ๋๊ฐ ์ถฉ์กฑ๋์ง ์์ ๋ง๋๊ฐ ๋ ๋๋ง๋์ง ์์ต๋๋ค. @marbetschar ๋ ๊ทธ ์ดํ๋ก ์ ๋ฐ์ดํธ๋์ง ์์์ผ๋ฏ๋ก ์๋ ๋ฌธ์ ์ ๊ทผ๋ณธ ์์ธ์ด @kscheff๊ฐ ์ ๊ณต ํ ๊ฒ๊ณผ ๊ฐ์ ์ ๋ ฌ๊ณผ ๊ด๋ จ๋ ๊ฒ์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
์๋ค ์! ์ด ๋ฌธ์ ์ ๋ํ ์์์ด ์์ต๋๊น? ๋ฒ์ 3.3.0์ ์ฌ์ฉํ๊ณ BarChartView์์ ์ฌ์ ํ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. yAxis ๊ฐ์ ์ ๋ ฌํ์ง ์๋ ๊ฒ์ด ์ค์ํ ๊ฒฝ์ฐ ์์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋์ ๋ง๋
BarChartData()
๊ฐ์๋CombinedChartView
์์ 3.0.2์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.ํ์๋๋๋ณด๊ธฐ ์ธ๋ถ์์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ๋ฐ์ดํฐ ํญ๋ชฉ์ ํ๋ / ์ถ์ํ๊ณ ๋๋ฉด ๋ง๋๊ฐ ์ฌ๋ผ์ง๊ณ ๋ฐ์ดํฐ ๋ ์ด๋ธ์ด ์์ต๋๋ค. ๋ํ ๋๋
.setVisibleXRangeMaximum()
์ ํํ๊ฑฐ๋.moveViewToX()
๋ฅผ ํตํด ์ผ์ชฝ์ผ๋ก ์ด๋ํ์ง ์์ต๋๋ค.๋ ๋ค๋ฅธ ์ด์ํ ๋์์
.highlightPerTapEnabled()
๋ฅผ ํตํด ๋ชจ๋ ๋ง๋๋ฅผ ์ ํํ ์ ์์ผ๋ฉฐ ์๋ฅผ ๋ค์ด 13 ์ธํธ์ ์ค์ ๋ง๋ ๋ง ์ ํํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ด ์ ํ ๊ด๋ จ์ด ์๋์ง ํ์คํ์ง ์์ต๋๋ค.ํด๊ฒฐ : ๋ฌธ์ ๋ ๋ฐ์ดํฐ ํญ๋ชฉ์ด ์ญ์์ผ๋ก ์ ๋ ฅ๋๋ค๋ ๊ฒ์ ๋๋ค. x ๊ฐ์ ๋๋ ค ๋ฐ์ดํฐ ํญ๋ชฉ์ ์ ๋ ฌํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.