๋ง์ ์ฌ๋๋ค์ด Charts 3.0์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ง๋ฌธํ์ต๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ๊ฒ์ด ๋ฆด๋ฆฌ์ค ๋ ธํธ์ ๊ณง ๋ฆด๋ฆฌ์ค๋ ๊ฒ์ด์ง๋ง ์ง๊ธ์ ์ฌ๊ธฐ์ ์ ์ด ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๋ช ๊ฐ์ง ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ ์ฃผ์ ๋ฆด๋ฆฌ์ค์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์ธ์.
์ ๋ฐ์ดํธ:
x-index
es๊ฐ ์ฃฝ์์ต๋๋ค. ์๊ฐ: x-๊ฐ. ์ด์ ๊ฐ ํญ๋ชฉ์๋ x
๋ฐ y
์์ต๋๋ค.y
๊ฐ์ ๋ํ ์๋ก์ด ํฌ๋งทํฐ๊ฐ ๋ ๋์ ํ์ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ํด dataSet ๋ฐ ๋ทฐํฌํธ ์ ๋ณด๋ฅผ ๊ฐ์ต๋๋ค.objc(...)
๊ธฐ๋ฅ ์ฌ์ฉ ๋ฐ ์ฃผ์ ๋ฒ์ ์
๋ฐ์ดํธ ๋ณ๊ฒฝ).FillFormatter
์๋ ์ด์ FillFormatter.withblock(...)
์ฌ์ฉํ๋ ๋ธ๋ก ํํ์ด ์์ต๋๋ค.saveToCameraRoll()
. Xcode 8.0 ์ดํ Apple Review์์ "ํ๋ผ์ด๋ฒ์" ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฏ๋ก ์ด๋ฅผ ์ํด Info.plist
์ ์ฌ์ง ์จ๋ฒ ํ๋ผ์ด๋ฒ์ ํค๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค.์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ/์ด์ ๋ฐฉ๋ฒ:
PieChartDataEntry
/ RadarChartDataEntry
๊ตํํ์ญ์์ค.startAtZeroEnabled
ํธ์ถ์ด ์๋ ๊ฒฝ์ฐ ์ด ํธ์ถ์ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. axisMinimum
๊ต์ฒดํ์ญ์์ค.chart.valueFormatter = formatter
๋ฅผ chart.valueFormatter = ChartDefaultValueFormatter(formatter: formatter)
๋๋ chart.valueFormatter = [[ChartDefaultValueFormatter alloc] initWithFormatter:formatter];
๋ฐ๊ฟ๋๋ค.axis.valueFormatter = formatter
๋ฅผ axis.valueFormatter = ChartDefaultAxisValueFormatter(formatter: formatter)
๋๋ axis.valueFormatter = [[ChartDefaultAxisValueFormatter alloc] initWithFormatter:formatter];
๋ฐ๊ฟ๋๋ค.ChartViewDelegate
๊ฐ ๊ตฌํ๋ ๊ฒฝ์ฐ chartValueSelected
์ธํฐํ์ด์ค๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.drawSliceTextEnabled
๋ฅผ drawEntryLabelsEnabled
๋ฐ๊พธ๊ธฐIShapeRenderer
๊ตฌํํ๊ณ ๊ฑฐ๊ธฐ์ ๋ ๋๋ง ์ฝ๋๋ฅผ ๋ฃ์ผ์ญ์์ค.MarkerView
/ MarkerImage
์๋ธํด๋์ฑํ๊ฑฐ๋ IMarker
๊ตฌํ์ ๊ณ ๋ คํ์ญ์์ค. ์ง๊ธ๋ณด๋ค ๋ ๋ง์ ์ต์
์ด ์์ต๋๋ค ...barSpace
๋ฅผ ์ฌ์ฉํ ์ ์ด ์๋ค๋ฉด barWidth
saveToCameraRoll()
๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ UIImageWriteToSavedPhotosAlbum(chart.getChartImage(trasparent: false), nil, nil, nil)
@objc(name)
. ์ปดํ์ผ๋ฌ๊ฐ ํด๋์ค๊ฐ ์กด์ฌํ์ง ์๋๋ค๊ณ ์๋ฆฌ๋ฅผ ์ง๋ฅด๋ฉด ํด๋น ์ด๋ฆ์์ ์ฐจํธ๋ฅผ ์ ๊ฑฐํ์ญ์์ค. ์ด๊ฒ์ ์ฌ์ฉ์๊ฐ ๊ฑฐ์ ์ธ์คํด์คํํ์ง ์๋ ํด๋์ค๋ง ์ ํํ๊ธฐ ๋๋ฌธ์ ๊ฑฐ์ ๋ฐ์ํ์ง ์์ต๋๋ค.@danielgindi ์ง์ cocoapods?
@danielgindi ์ฌ์ ํ ์ด์ ์ฒ๋ผ ํด๋น ํด๋์ค๋ฅผ ๋ด ํ๋ก์ ํธ์ ๋ณต์ฌํ ์ ์์ต๋๊น?
์์ง Cocoapods์๋ ์์ต๋๋ค. ๋ง์๋๋ฆฐ๋๋ก ์์ง ์ถ์๋์ง ์์์ต๋๋ค.
์, ์ด์ ๊ณผ ๊ฐ์ด ํด๋์ค๋ฅผ ๋ณต์ฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ xcodeproj
๋ฅผ ํ๋ก์ ํธ๋ก ๋๋๊ทธํ๋ ๊ฒ์ด ๋ ํธ์ํฉ๋๋ค. ์์ค ์์ฒด๋ฅผ ๋๋๊ทธํ๋ ๊ฒ์ ๊ถ์ฅํ์ง ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ๋ก์ ํธ์ Chrat ์
๋ฐ์ดํธ๊ฐ ๋ ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์
๋๋ค.
@danielgindi
์ข์ ์ผ์ ํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
์ด์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. x-์ธ๋ฑ์ค๊ฐ ์ฃฝ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
- x-indexes are dead. Intoducing: x-values. Each entry now has an x and a y.
- In general, all functions that accepted x-indices before, now accept an x-value,
so you might have to adjust the names a little bit.
๊ทธ๋ ๋ค๋ฉด float ์ซ์(์: 1.0, 2.0 ...)๊ฐ ์๋ xAxis์ ๋ฌธ์์ด(์: ๋ ์ง ๋ฌธ์์ด)์ ํ์ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
๋ ์ง์ NSTimeInterval์ ๊ฐ์ ธ์ค์ญ์์ค. NSTimeInterval์ ์ค์ ๋ก ์ด์ค์ ๋๋ค.
์ถ์๋ฅผ ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค! ๐
@danielgindi XCode 8.0์ผ๋ก ์ ๋ฐ์ดํธํ ์ดํ๋ก ๋ด ํ๋ก์ ํธ๋ cocoapods๋ฅผ ํตํด ์ค์น๋ Charts๊ฐ ์๊ณ ์ฌ์ ํ ๋ ๊ฑฐ์ ๋ฒ์ ์ Swift๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋น๋๋์ง ์์ต๋๋ค. Chart 3.0์ ์ถ์๋ฅผ ์ผ๋ง๋ ๋นจ๋ฆฌ ์์ํ ์ ์์ต๋๊น? ๊ทธ ๋์ ์ด๋ฌํ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น? ๋ชจ๋ ๋ ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ง๊ธ์ ๋ฒ์ ๋์ ๋ง์คํฐ ๋ถ๊ธฐ๋ฅผ ๊ฐ๋ฆฌํค๋๋ก podfile์ ์ง์ ํฉ๋๋ค.
@petester42 ํ์ ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๋ฌ๋ ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด podfile์ pod 'Charts', :git => 'https://github.com/danielgindi/Charts.git', :branch => 'master'
ํ๊ณ ํฌ๋ ์ค์น๋ฅผ ์คํํ์ต๋๋ค. ์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ฌ๋ ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ค๊ณ ํ ๋ ์ฌ์ ํ "๋ ๊ฑฐ์ Swift ์ธ์ด ๋ฒ์ ์ฌ์ฉ" ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋ ์ ์ฉํ ํํธ๊ฐ ์์ต๋๊น?
@Carielle CocoaPods ์ ํธํ๋๊ธฐ ์ ์ Charts 3.0.0์ ์ค์นํ๋ ค๋ฉด ํฌ๋ ํ์ผ๊ณผ ํ๋ก์ ํธ์์ ์ด์ ์ฐจํธ๋ฅผ ์ ๊ฑฐํ ๋ค์ ์ด github ํ์ด์ง์์ Charts.xcodeproj ํ์ผ์ ๋ค์ด๋ก๋ํ์ญ์์ค.
๊ทธ๋ฐ ๋ค์ XCode์์ ๋์ ํ๋ก์ ํธ๋ฅผ ์ด๊ณ ๋ค์ด๋ก๋ํ ๋๋ ํฐ๋ฆฌ์์ Charts.xcodeproj ํ์ผ์ XCode ์ธํฐํ์ด์ค์ ํ๋ก์ ํธ๋ก ๋๋๊ทธํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ํ๋ก์ ํธ ์ผ๋ฐ ์ค์ ์ "์๋ฒ ๋๋ ๋ฐ์ด๋๋ฆฌ" ์น์ ์ Charts.framework๋ฅผ ์ถ๊ฐํฉ๋๋ค.
@ALL ์ ์ ์ํ 2.3 ๋ฐ 3.0 ๋ฌธ์ ์ ๋ํด #1291์ ํ์ธํฉ๋๋ค.
๋ง์ด๊ทธ๋ ์ด์
์ค๋ช
์์ ์ค๋ฅ ์ง์ ๏ผ
ํฌ๋งทํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ:
๋๋ @Carielle ๊ณผ ๊ฐ์ ๊ฒ์ ์ป๊ณ ์์ต๋๋ค. @HenryAlkire๊ฐ ๋งํ ๊ฒ์ ์๋ ํ ๊ฒ์ ๋๋ค.
์ด๋ค ์ง์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๊น?
@rrecio ์๋์ .. ๋ฉฐ์น ์ ์ ๊ณ
๋๋ ์ผ๋ฐ cocoapod ์ค์ ์ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค: pod 'Charts'
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด @Henry๊ฐ ์ค๋ช ํ ๋๋ก
์๋น์๋ ๋ ๋ฉ์ฐ ์์ดํฐ
Em 20 de set de 2016, ร s 21:59, Xuan [email protected] escreveu:
@rrecio ์๋์ .. ๋ฉฐ์น ์ ์ ๊ณ
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ๋ณด๊ฑฐ๋ ์ค๋ ๋๋ฅผ ์์๊ฑฐํ์ธ์.
์ธ์ Cocoapods์์ ์ฌ์ฉํ ์ ์๋์ง์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๊น?
Carthage๋ฅผ ์ฌ์ฉํ์ฌ Xcode 8.0 ๋ฐ Swift 3.0์์ ์๋ํ๋๋ก ์ฐจํธ๋ฅผ ์ด๋ป๊ฒ ์ ๊ทธ๋ ์ด๋ํฉ๋๊น?
"carthage update"๋ฅผ ์คํํ๋ฉด ์ฌ์ ํ Charts 2.3.0์ด ํ์๋ฉ๋๋ค. My Cartfile์ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
github "๋ค๋์๊ธด๋/์ฐจํธ"
$์นด๋ฅดํ๊ณ ์
๋ฐ์ดํธ
** ๋ณต์ ์ฐจํธ* * ๋ณต์ ๊ฒฐ๊ณผ
** ๋ณต์ ์์ญ-์ฝ์ฝ์* * "v2.3.0"์์ ์ฐจํธ ํ์ธ
@danielgindi
์ด ๊ธฐ๋ฅ์ ํฌํจํ๋ฉด ์ข์ ๊ฒ์
๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฃผ์ ๊ธฐ๋ฅ์ผ๋ก ๊ฐ์ฃผ๋๊ธฐ ๋๋ฌธ์ ...ํนํ ํ์ด ์ฐจํธ์์:
1) ๋ง์ปค ๋ชจ์์ด ๋ค๋ฅธ ์ ๊ทธ๋ํ
https://github.com/danielgindi/Charts/issues/1405
2) x์ถ์ ํน์ ์์น์ ์ฌ์ฉ์ ์ ์ ๋ณด๊ธฐ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ฐฐ๊ฒฝ์ ์ฌ์ฉ์ ์ ์๋ ์ฃผ์ ๋ณด๊ธฐ์์ ๋๋ฝ๋์์ต๋๋ค.
https://github.com/danielgindi/Charts/issues/1416
Carthage๋ ์ต์ ๋ฆด๋ฆฌ์ค ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค. 3.0(์์ง ์ถ์๋์ง ์์)์ ์ํ๋ฉด github "danielgindi/Charts" "master"
๋ง์คํฐ ๋ธ๋์น๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ํ๋ก์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ ๋ค์ Charts.xcodeproj ๋ฅผ ๋๋๊ทธ ์ค ๋๋กญํ ๋ค์ ์ผ๋ฐ ํญ์ผ๋ก ์ด๋ํ๊ณ ์ ๋ฆฌ ๋ฐ ๋น๋ ํ ํฌํจ๋ ๋ฐ์ด๋๋ฆฌ ์๋์ Charts.framework๋ฅผ ์ถ๊ฐํ์ฌ ๋ชจ๋ ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง ๊ฒ์ ๋ณผ ์ ์๋๋ก ์๋ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๋์์ด ํ์ํ ๊ฒฝ์ฐ ๋๊ธ์ ๋ฌ์ ๋๋ฆฌ๊ฒ ์ต๋๋ค. @petester42 @Huang-Libo
@HenryAlkire ๋๋ ๋น์ ์ด ์ ์ํ ๊ฒ์ ์ํํ๊ณ ๋ด podfile์์ Charts๋ฅผ ์ ๊ฑฐํ๊ณ ์๋์ผ๋ก ๋ด ํ๋ก์ ํธ์ ๋์ด๋ค ๋์ ๋ค์ ํฌํจ ๋ ๋ฐ์ด๋๋ฆฌ๋ก ์ถ๊ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ ค๊ณ ํ ๋ ์ด ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํฉ๋๋ค.
dyld: Library not loaded: @rpath/libswiftCore.dylib
Reason: image not found
Charts.framework/Charts์์ ์ฐธ์กฐํ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๊น?
๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ด ํ๋ก์ ํธ๋ Swift Charts ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ Objective-C ํ๋ก์ ํธ์ด๋ฏ๋ก Build Settings > Build Options > "Always Embed Swift Standard Libraries"๋ก ์ด๋ํ์ฌ YES๋ก ์ค์ ํด์ผ ํ์ต๋๋ค. ์ด๊ฒ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ "ํฌํจ๋ ์ฝํ ์ธ ์ Swift๊ฐ ํฌํจ๋จ" ํ๋๊ทธ๋ฅผ ๋์ฒดํฉ๋๋ค.
@Carielle ๋ํ ์ด ๋ฌธ์ ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. https://github.com/danielgindi/Charts/issues/1487
@danielgindi Charts 3์ Cocoa Pods ์ถ์๋ฅผ ์์ธกํ ์ ์์ต๋๊น? ํ ๋ฌ์ฒ๋ผ 1-2์ฃผ ์ด์?
๋ ธ๋ ฅํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ๐
๋ง์คํฐ ๋ธ๋์น๋ฅผ ๊ฐ๋ฆฌํค๋ฉด ์ง๊ธ ๋ฐ๋ก ์ฐจํธ 3์ cocoapods์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ด ์ต์ข ์ ์ด์ง ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ด ์์ ์ ์ผ ๊ฒ์ด๋ผ๊ณ ๋ณด์ฅํ ์ ์์ต๋๋ค.
@petester42 ํฌ๋ ์ฌ์์ ์ข ์์ฑ์ด ์๋ ํ๋ ์์ํฌ ํฌ๋๋ฅผ Charts์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ๋ถํํ๋ Pod ํ์ผ์์์ ๊ฐ์ด Pod ์ฌ์์์ ๋ค๋ฅธ ์ ์ฅ์๋ ๋ถ๊ธฐ๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์์ต๋๋ค. ์์ ํ๋ก์ ํธ์์ Podfile์ ๋ฎ์ด์ธ ์ ์์ง๋ง ๋ฐฐํฌํ ์๋ ์์ต๋๋ค. ๊ทธ๋์ ๋๋ ์ง๊ธ Swift 2.2์ ์ ๊ฒจ ์์ต๋๋ค. ํ์ง๋ง ํ ๊ฐ์ฌํฉ๋๋ค :)
Cocoapods๋ก ์ฐจํธ 3์ ์ฌ์ฉํ๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ์ํ ์ ๋ฐ์ดํธ
์ ๋ ํ๋ก์ ํธ๋ฅผ Swift 2.2 ๋ฐ Xcode 7์์ Swift 3.0 ๋ฐ Xcode 8.0์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ์์ ์ ํ๊ณ ์์ต๋๋ค. @Carielle ์ ์ ๊ทผ ๋ฐฉ์์ @petester42๊ฐ ์์์ ์ธ๊ธํ๋ฏ์ด -- ์ฐจํธ 3์ cocoapods์ ํจ๊ป ์ค์น๋ ์ ์์ต๋๋ค.
๋ค์์ ๊ฐ๋๋ก podfile ์์ :
pod 'Charts', :git => 'https://github.com/danielgindi/Charts.git', :branch => 'master'
๋๋ฅผ ์ํด ๋ค์์ ์ด๋์์ต๋๋ค (2016๋ 10์ 1์ผ)
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ต์ข ๋ฒ์ ์ด ์ถ์๋ ๋๊น์ง ์์๋๋ ๋๋ก ์์ง ์์ ์ค์ธ ๋น๋ ์๊ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด plotView.xAxis.setLabelsToSkip(10)
๋ setLabelsToSkip ๋ฉ์๋๊ฐ ์ด์ ์ธ์๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํต๋๋ค. ์ต์ข
๋ฒ์ ์ด ์์
๋๋ ๋์ ์ด๊ฒ์ด ์์์ ์ด๋ผ๊ณ ๊ฐ์ ํ ์ ์์ต๋๊น? ์๋๋ฉด ์ฌ์ฉํด์ผ ํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
ํ๋ฅญํ ์์ ์ ๋ํด @danielgindi ์ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ๋๋ ๋ด ์์ ์ ํ๋ก์ ํธ๋ฅผ ์กฐ์ ํ์ฌ ๋ฐฐ์ฐ๋ฉด์ ๋ง์ด๊ทธ๋ ์ด์ ๋ฌธ์์ ๊ธฐ์ฌํ๊ณ ์ถ์ต๋๋ค.
iOS ์ฐจํธ๋ฅผ 3.0 ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธํ๊ธฐ ์ ์
RadarChartData = RadarChartData(xVals: dataPoints, dataSet:radarChartDataSet) ํ์
๊ทธ๋ฌ๋ ์
๊ทธ๋ ์ด๋ ํ์๋ RadarChartData์์ xVals๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
RadarChartData = RadarChartData(dataSet:radarChartDataSet)
์ต์ ๋ฒ์ ์์ xVals๋ฅผ ์ด๋ป๊ฒ ์ค์ ํ ์ ์์ต๋๊น? ๋๋ ์๋ํ๋ค
dataEntry = RadarChartDataEntry(๊ฐ: Double(cleaningValue), ๋ฐ์ดํฐ: "setTitle"์ AnyObject๋ก?)
๊ทธ๋ฌ๋ ์๋ํ์ง ์๊ณ ๋ง์ ๋ฌธ์๋ฅผ ๊ฒ์ํ์ง๋ง ์ํ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฃผ์๊ฒ ์ต๋๊น? ์กฐ์ธ ๊ฐ์ฌํฉ๋๋ค.
@AnChiChang ๋ ์ ์์ ์ฃผ์์ฌํญ์ ์ ์ฝ์ด
๊ฐ์ฌํฉ๋๋ค, ํฐ์ผ 1496์ ํตํด ์ดํด
v3.0์์ x-๊ฐ์ ์ด์ค ๋ฐฐ์ด์์ ๋ฌธ์์ด ๋ฐฐ์ด๋ก ์ด๋ป๊ฒ ํฌ๋งทํ ์ ์์ต๋๊น?
@bingozb ๋ฐ๋ชจ์ข
๋ณ์ a: ๋๋ธ = 1.5
var b:๋ฌธ์์ด = ๋ฌธ์์ด(ํ์:"%f", a)
print("b: (b)") // b: 1.500000
@danielgindi ๊บพ์ ์ ํ ์ฐจํธ 1์ ์ฌ์ฉํ๊ณ ๋ฐ๋ชจ๋ฅผ ๋ณด์์ง๋ง ์ด์ ๋ํด ์๋ฌด ๊ฒ๋ ์ฐพ์ง ๋ชปํ์ต๋๋ค.
NSMutableArray *๊ฐ = [[NSMutableArray ํ ๋น] ์ด๊ธฐํ];
[๊ฐ addObject:[[ChartDataEntry ํ ๋น] initWithX:i y:val]];
LineChartDataSet *set1 = [[LineChartDataSet ํ ๋น] initW ithValues:values ๋ ์ด๋ธ:@"xxx"];
๋ฐ๋ชจ์์๋ ๋ ๋ฐฐ์ x ๊ฐ๋ง ์ฌ์ฉํฉ๋๋ค. ChartDataEntry์๋ ๋ฌธ์์ด ๋งค๊ฐ๋ณ์๋ฅผ ๋ณด๋ผ ์ ์๋ ์ด๊ธฐํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๊ธ์, ๋๋ ๊ทธ ๋ฌธ์ ๋ฅผ ๋ณด์๊ณ ์ฐ๋ฆฌ๊ฐ date์ integerValues๋ฅผ ๋ณด๋ผ ์ ์๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๊ณ , ๊ทธ๋ฐ ๋ค์ ๊ทธ๊ฒ์ ๋ค์ ํฌ๋งทํ๊ณ x ๋ ์ด๋ธ์ ํ์ํ ์ ์๋ค๊ณ ๋งํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋ํ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์ต๋๋ค. ์ค์ ๋ก ์ด๋ฐ ์์ผ๋ก ์๋ํ ์ ์๋์ง ํ์ ํ ์ ์์ต๋๋ค.
๋์์ฃผ์ธ์, ์ ๋ฐ. x์ถ์ ๋ ์ง๋ฅผ ํ์ํด์ผ ํฉ๋๋ค.
์๋ ํ์ธ์ @bingozb
X ๊ฐ์ด ํ๋์ ๋ฐฐ์ด์ ์ ์ฅ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ๋์ pls๋ ์ด๋ฐ ์ข ๋ฅ์ ์์ ์ ์ํํฉ๋๋ค.
NSMutableArray *xVals;
๋๋ ๋น์ ์ด ์ดํดํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@rs10693 ์, ์ด ํ๋กํ ์ฝ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ๊ตฌํํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ฆฌ์๊ฐ IChartAxisValueFormatter ํ๋กํ ์ฝ์ ์ค์ํ์ง ์์๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ๋๊ฐ ์ด ํ๋กํ ์ฝ์ ์ค์ํด์ผ ํ๋ฉฐ ์ด๋์์ ์ด ๋ฐฉ๋ฒ์ ๊ตฌํํด์ผ ํฉ๋๋ค. ๋ด ์ปจํธ๋กค๋ฌ๊ฐ ์ด ์์ ์ ์ํํ๋๋ก ํ์ง๋ง ์๋ํ์ง ์์ต๋๋ค.
@bingozb ์ฌ์ฉ ChartViewDelegate ๋ฐ IChartAxisValueFormatter์ ๋๋ ์ฐจํธ @import๋ฅผ ํฌ๋ง;
@rs10693 ์, valueFormatter์ ๋๋ค ...
@bingozb ๋ด๊ฐ ์ดํดํ ์ ์๋ ๋ง์ ํ ์
@danielgindi ์ฌ์ ํ Charts 3.0.0์ ์ค์นํ ์ ์์ต๋๋ค.
pod install
์คํ ์ ๋ค์ ์ค๋ฅ ๋ฐ์
์ข
์์ฑ ๋ถ์
[!] ๋ค์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ ์ ์์ต๋๋ค.
Charts (~> 3.0.0)
์ ํ์ํ Podfile
์ฌ์ ์์ค ์ค Charts (~> 3.0.0)
์ข
์์ฑ์ ์ถฉ์กฑํ๋ ์ฌ์์ด ์์ต๋๋ค.
๋ค์ ์ค ํ๋๊ฐ ์์ต๋๋ค.
pod repo update
์
๋ฐ์ดํธํ ์ ์๋ ์ค๋๋ ์์ค ์ ์ฅ์์
๋๋ค.์ฐธ๊ณ : CocoaPods 1.0๋ถํฐ pod repo update
๋ ๊ธฐ๋ณธ์ ์ผ๋ก pod install
์์ ๋ฐ์ํ์ง ์์ต๋๋ค.
Charts 3.0.0์ด ์์ง ์ถ์๋์ง ์์์ผ๋ฏ๋ก ๋ค์์ ์ฌ์ฉํ์ฌ ์ค์นํ ์ ์๋๋ก ๋์์ฃผ์ธ์.
๋๋ ๋ด๊ฐ ์ด๋ค ๋จ๊ณ๋ฅผ ๋์น๊ณ ์์ต๋๊น?
3.0์ ์์ง ์ต์ข ๋ฒ์ ์ด ์๋๊ธฐ ๋๋ฌธ์ cocoapods์ ํฌํจ๋์ง ์์ต๋๋ค. git repo ๋ฐ master๋ฅผ ๊ฐ๋ฆฌ์ผ ์ง๊ธ 3.0์ ์ป์ ์ ์์ต๋๋ค.
์ด์ 3.0.0 ์ด
์์๋๋ฉด ์ข์ต๋๋ค.
ํ์ง๋ง ์ฝ์ฝ์ ํฌ๋๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํ๋์ง ์๋๋ฉด ์๋ก ์ถ์๋ 3.0.0์ ์ค์นํ๊ธฐ ์ํ ์ ์ฅ์์ธ์ง ์ฝ๊ฐ ๊ฑฑ์ ๋ฉ๋๋ค.
์ฐํธ ๐
@danielgindi ํฌ๋๋ฅผ ๋ฐ์ด์ผ ํฉ๋๊น?
์ค๋ ์๊ฐ์ด ์ง๋ ํ ์๋ํ์ง๋ง podspec์ด ์ ํจ์ฑ์ ๊ฒ์ฌํ์ง ์๋๋ค๊ณ ๋งํ์ต๋๋ค ...
๋ค ์๊ฐ์ด ์ข ๊ฑธ๋ฆฝ๋๋ค. ํ ์ ์์ด์. Xcode 8/swift 3์์ ์๋ํ๋ ค๋ฉด cocoapods 1.1์ด ํ์ํฉ๋๋ค.
@sun_ssssssss @ssssssssss
๋๋ ๊ฐ์ง๊ณ ์๋ค
pod --version
= 1.1.0
๊ทธ๋ฌ๋ ์ฌ์ ํ pod install
๋ช
๋ น์ ์ด์ ๋ฒ์ ์ ์ค์นํฉ๋๋ค.
์ข
์์ฑ ๋ถ์
์ข
์์ฑ ๋ค์ด๋ก๋
Installing Charts (2.3.0)
์๋ดํด์ฃผ์ธ์
๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋ ๊ทธ๋ํ๋ฅผ ๊ตฌํํ๋ ๋์ Swift 3.0์์ ์ด๋ฌํ ์ค๋ฅ๊ฐ ๋ฐ์ ํฉ๋๋ค.
์์ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ ํ ์๋์ ๊ฐ์ด ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
Swift 3.0์์ ์ด๋ฌํ ์ค๋ฅ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํฉ๋๊น?
let chartDataSet = BarChartDataSet(๊ฐ: dataEntries, ๋ ์ด๋ธ: nil)
let chartData = BarChartData(dataSet: chartDataSet)
xVals์ ๋ํด์๋ stringForValue๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค.
๊ฐ์ฌ ํด์. xVals์ ๋ํด stringForValue๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ๋์?
์ ์ํ 3๊ฐ์ง ์๋ฅผ ์ ๊ณตํด์ฃผ์ธ์.
์๋
ํ์ญ๋๊น,
๋ฐฉ๊ธ 2์์ 3์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ๋๋ฐ(3.0.2 ์ฌ์ฉ ์ค) 2๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ ๋ ฅํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
BarChartRenderer ํด๋์ค์์
open override func drawValues์์(์ปจํ
์คํธ: CGContext)
๋ผ์ธ 408 ์ถ๊ฐ
```
!dataSet.isStacked์ธ ๊ฒฝ์ฐ
{
0 ..< Int(ceil(Double(dataSet.entryCount) * animator.phaseX))
{
๊ฐ๋ let e = dataSet.entryForIndex(j) as? BarChartDataEntry else { ๊ณ์ }
let rect = buffer.rects[j]
let x = rect.origin.x + rect.size.width / 2.0
if !viewPortHandler.isInBoundsRight(x)
{
break
}
if !viewPortHandler.isInBoundsY(rect.origin.y)
|| !viewPortHandler.isInBoundsLeft(x)
{
continue
}
let val = e.y
if val == 0 <-----------this line
{ <-----------this line
continue <-----------this line
} <-----------this line
```
์ํ๋ ๊ฒฝ์ฐ ๋ณ์๋ฅผ ์ถ๊ฐํ์ญ์์ค.
var drawValuesZeroEnabled: Bool { ์ธํธ ๊ฐ์ ธ์ค๊ธฐ }
ํฐ์๋ฆฌ ๊ฐ์ฌํฉ๋๋ค.
๊ทธ๋์ ํด๊ฒฐ๋์์ต๋๋ค :)
๋๋ ์ฌ์ ํ ๊ทธ ์ด์ํ ๊ฐ๊ฒฉ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๊ทธ๋์ ๋ฐฉ๊ธ ๊ฐ์ด 0์ธ ๊ธฐ๋ณธ ๋ง๋ ์ฐจํธ๋ฅผ ๋ง๋ค์์ง๋ง ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ํ์ธํ๊ธฐ ์ํด ๊ฐ๋จํ ๋ง๋์ ์ต๋ํ ๊ฐ๊น์ด ๋ค๊ฐ๊ฐ๋ ค๊ณ ํ์ต๋๋ค.
๋ฐ๋ชจ์ฒ๋ผ ๋ณด์ด์ง๋ง 0์์ 0.9999 ์ฌ์ด์ ๊ฐ์ ์ ๋ ฅํ์๋ง์ ํจ๋ฉ์ด ์๊น๋๋ค.
์ํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<strong i="11">@IBOutlet</strong> var barChartView: BarChartView!
func viewDidLoad() {
super.viewDidLoad()
self.styleChart()
self.configureChart()
}
internal func styleChart() {
self.barChartView.xAxis.labelPosition = .bottom
self.barChartView.xAxis.labelCount = 2
}
internal func configureChart() {
var xValues = [String]()
var entries: [ChartDataEntry] = Array()
xValues.append("TEST 5")
xValues.append("TEST 0")
entries.append(BarChartDataEntry(x: Double(0), y: Double(5) ))
entries.append(BarChartDataEntry(x: Double(1), y: Double(0) ))
let dataSet = BarChartDataSet(values: entries, label: "")
dataSet.drawIconsEnabled = false
dataSet.drawValuesEnabled = true
let formatter = NumberFormatter()
formatter.numberStyle = NumberFormatter.Style.decimal
dataSet.valueFormatter = DefaultValueFormatter(formatter: formatter)
let barChartData = BarChartData(dataSet: dataSet)
barChartData.barWidth = 0.2
self.barChartView.data = barChartData
}
๊ฝค ์ง์ค์ ์ธ.
๋ฒ๊ทธ์ธ๊ฐ์?
0 ๋ฌธ์ :
์๋์ค 0 :
๋์ ์ค์ ๊ณ ๋ง์ ;)
์ฐจํธ์ฉ ์ด์ API์ ๋ํ ๋ฌธ์๋ ์ด๋์์ ์ฐพ์ ์ ์์ต๋๊น? ๋๋ ์ด ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์ด ์์ผ๋ฉฐ(๋ช ๋ฒ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ์ ์ธํ๊ณ ) 2.3์์ 3.0.4๋ก ์ ๊ทธ๋ ์ด๋ํด์ผ ํ๋ฏ๋ก ์ด์ ๋ฌธ์๋ ์ด์ ์ฝ๋๋ฅผ ํ์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์:
[entrySet addObject:[[ChartDataEntry alloc] initWithValue: item.avgSpeed xIndex:index]];
์ด์ initWithValue: xIndex
๋ผ๋ ์ด๊ธฐํ๊ฐ ์์ง๋ง ๋์ ๋ค์๊ณผ ๊ฐ์ ์ด๊ธฐํ๊ฐ ์์ต๋๋ค.
initWithX: y:
, ๊ทธ๋์ ๋๋ ์ด์ ๋งค๊ฐ๋ณ์๊ฐ ๋ฌด์์ธ์ง, ๊ทธ๋ฆฌ๊ณ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ ์ด๊ธฐํ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์ ๋ด๋ ค๊ณ ๋
ธ๋ ฅ ์ค์
๋๋ค...
๋ํ valuesObjc ๋ฐฐ์ด์ด ์ด์ ๋๋ฝ๋์์ต๋๋ค.
//myLineChartView is LineChartView
NSDate* date = (NSDate*)[myLineChartView.xAxis.valuesObjc objectAtIndex:index];
๋ด๊ฐ ๋งํ๋ฏ์ด, ๋๋ ์ด ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ฝ๊ฐ์ ๋์์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ๋๋ ์ ์ด๋ ์ด์ API ๋ฌธ์์ ๋ํ ๋งํฌ๊ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค...
๊ทธ๋ฐ ์๋ฃ๋ ์๋ ๊ฒ ๊ฐ์์. ๊ธฐ์กด/2.3 ๋ถ๊ธฐ๋ฅผ ํ์ธํ์ฌ ํ์ฌ ๋ฒ์ ๊ณผ ๋น๊ตํ์ฌ ๋ฐ๋ชจ ๋ฑ์ ํ์ธํ ์ ์์ต๋๋ค.
BarChartData.init(xVals: xVals, dataSets: dataSets)๊ฐ ์๋ํ์ง ์์ต๋๋ค. ๋์ฒด ๋ฌด์์ ๋๊น?
ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ๊บพ์ ์ ํ ์ฐจํธ์ x ๊ฐ์ ๊ฐ์ด๋ฐ๋ก ์คํฌ๋กคํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@Carielle CocoaPods ์ ํธํ๋๊ธฐ ์ ์ Charts 3.0.0์ ์ค์นํ๋ ค๋ฉด ํฌ๋ ํ์ผ๊ณผ ํ๋ก์ ํธ์์ ์ด์ ์ฐจํธ๋ฅผ ์ ๊ฑฐํ ๋ค์ ์ด github ํ์ด์ง์์ Charts.xcodeproj ํ์ผ์ ๋ค์ด๋ก๋ํ์ญ์์ค.
๊ทธ๋ฐ ๋ค์ XCode์์ ๋์ ํ๋ก์ ํธ๋ฅผ ์ด๊ณ ๋ค์ด๋ก๋ํ ๋๋ ํฐ๋ฆฌ์์ Charts.xcodeproj ํ์ผ์ XCode ์ธํฐํ์ด์ค์ ํ๋ก์ ํธ๋ก ๋๋๊ทธํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ํ๋ก์ ํธ ์ผ๋ฐ ์ค์ ์ "์๋ฒ ๋๋ ๋ฐ์ด๋๋ฆฌ" ์น์ ์ Charts.framework๋ฅผ ์ถ๊ฐํฉ๋๋ค.