diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000000..43e4a687c8 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with username +open_collective: charts +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 1878f561b1..5c663df622 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -20,12 +20,12 @@ ℹ Please replace this with of what happened instead. -## Charts Environment +## DGCharts Environment -**Charts version/Branch/Commit Number:** +**DGCharts version/Branch/Commit Number:** **Xcode version:** **Swift version:** -**Platform(s) running Charts:** +**Platform(s) running DGCharts:** **macOS version running Xcode:** ## Demo Project diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..658a16d1e2 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,81 @@ +name: Build + +on: + workflow_dispatch: + push: + branches: + - "*" + pull_request: + branches: + - "*" + +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true + +jobs: + buildFramework: + name: Build framework + runs-on: macos-12 + env: + DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer + strategy: + matrix: + target: + - destination: "OS=16.2,name=iPhone 14 Pro" + actions: "build test" + - destination: "OS=16.1,name=Apple TV 4K (3rd generation)" + actions: "build test" + - destination: "platform=macOS" + actions: "build" + steps: + - uses: actions/checkout@v3 + - name: Build framework - ${{ matrix.target.destination }} + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "Charts.xcworkspace" -scheme "DGCharts" -destination "${{ matrix.target.destination }}" clean ${{ matrix.target.actions }} | xcpretty + + buildDemo: + name: Build demo + runs-on: macos-12 + env: + DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer + strategy: + matrix: + target: + - scheme: "ChartsDemo-iOS" + destination: "OS=16.2,name=iPhone 14 Pro" + - scheme: "ChartsDemo-macOS" + destination: "platform=macOS" + steps: + - uses: actions/checkout@v3 + - name: Build demo - ${{ matrix.target.destination }} + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "Charts.xcworkspace" -scheme "${{ matrix.target.scheme }}" -destination "${{ matrix.target.destination }}" clean build | xcpretty + + spm: + name: Test with SPM + runs-on: macos-12 + env: + DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer + steps: + - uses: actions/checkout@v3 + - name: SPM Test + run: swift build + + carthage: + name: Test with carthage + runs-on: macos-12 + env: + DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer + steps: + - uses: actions/checkout@v3 + - name: Carthage Test + run: carthage build --use-xcframeworks --no-skip-current + + cocoapods: + name: Test with cocoapods + runs-on: macos-12 + env: + DEVELOPER_DIR: /Applications/Xcode_14.2.app/Contents/Developer + steps: + - uses: actions/checkout@v3 + - name: Cocoapdos Test + run: pod lib lint diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..30f4be14b8 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,25 @@ +name: Release + +on: + workflow_dispatch: + push: + tags: + - "*" + +jobs: + build: + runs-on: macos-12 + + steps: + - uses: actions/checkout@v1 + + - name: Install Cocoapods + run: gem install cocoapods + + - name: Deploy to Cocoapods + run: | + set -eo pipefail + pod lib lint --allow-warnings + pod trunk push --allow-warnings + env: + COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} diff --git a/.gitignore b/.gitignore index 8ba8e0ead7..dd4801cf4f 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ DerivedData *.ipa *.dSYM.zip *.dSYM +*.dia ## Playgrounds timeline.xctimeline @@ -70,5 +71,5 @@ fastlane/Preview.html fastlane/screenshots fastlane/test_output Carthage -Charts.framework.zip -ChartsRealm.framework.zip +DGCharts.framework.zip +.swiftpm/ diff --git a/.swift-version b/.swift-version deleted file mode 100644 index 5186d07068..0000000000 --- a/.swift-version +++ /dev/null @@ -1 +0,0 @@ -4.0 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0740950980..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -language: objective-c -osx_image: xcode9.3beta -matrix: - include: - - osx_image: xcode9.3beta - env: PLATFORM="iOS" - - osx_image: xcode9.3beta - env: PLATFORM="tvOS" - - osx_image: xcode9.3beta - env: PLATFORM="macOS" -env: - global: - - LANG=en_US.UTF-8 - - secure: HRl5Cg3/LmTJYCSDGtV8Fiqf6OgWXR6C5YkNviOElU9YmcCTvnmE7MCm+gK8hJNIQ2mWCBTlxTC7jJxeYlx0D+JQ6IhRc75B4zXgbtth6HCzlvhWDcBbNU/K+JPDjy2EAoVgvf8Xseq6GqM4WcVg2Pwr9PS3aaH/SKDE6yVoPXRM2wXRAxIdxayqm/RQgG88jAKgg+Ub5DKW/c9NLLbUf/WdY9SgQDJtqeZCMv7G3/IzW34KZgVPsqSrPByzZXbf7KgYkYLQlscH4mcUctk1qxhdCae//zcgUZo/utpXWbPXQqtvDpuqrg9IRvoGxa/D1I7dLSJsVnk4aP7RW18vn4HJ82C2AiEp+lU2TQE9y5lXcGssZVIa5aZNTWL90HVer3Kg6AnHffvdCSZ/UHsMZJFURUXL9fRIlWVGuEDeQOqlV6lUmEtp/BiEdV4D5PuCyT6snsmEwkc51goyqh6uS6XhJyqYEQdxdoybznwp91tVmASsRybppIGHTkcWN5csF4zQt40tEwd8LoqM+bBUo0wxKiKsNsecL4JA+YDYs2saZY9U3s8jAaIon+qDu071fPRaPEvBhYHYDhy4cTvBXibyGUYGHkrgLu0w19wDfHcJKt2In58yOmaCCLNoTGp/ZLNVRyZ8VDlj/NdJ2dWpMsL2Aj7OxU065kCL2FlvuRU= -cache: - - bundler -before_install: - - brew update - - brew upgrade carthage || true - - carthage version - - carthage bootstrap --platform $PLATFORM -script: - - bundle exec rake ci[$PLATFORM] -after_success: - - bash <(curl -s https://codecov.io/bash) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3f5023e71..8d7af2c277 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,880 @@ -# Change Log +# Changelog + +## [v4.0.1](https://github.com/danielgindi/Charts/tree/v4.0.1) (2021-02-18) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v4.0.0...v4.0.1) + +**Merged pull requests:** + +- Fix bounds checks on binary search [\#4577](https://github.com/danielgindi/Charts/pull/4577) ([jjatie](https://github.com/jjatie)) +- Added SPM build action [\#4576](https://github.com/danielgindi/Charts/pull/4576) ([jjatie](https://github.com/jjatie)) +- Replace FBSnapshotTestCase with pointfree/swift-snapshot-testing [\#4574](https://github.com/danielgindi/Charts/pull/4574) ([jjatie](https://github.com/jjatie)) +- Fixed incorrect guard return statement when rendering limit lines [\#4563](https://github.com/danielgindi/Charts/pull/4563) ([jjatie](https://github.com/jjatie)) +- SPM GitHub Action [\#4553](https://github.com/danielgindi/Charts/pull/4553) ([jjatie](https://github.com/jjatie)) +- ChartViewBase cleanup [\#4537](https://github.com/danielgindi/Charts/pull/4537) ([nuomi1](https://github.com/nuomi1)) +- Add Tutorial Link.md [\#4516](https://github.com/danielgindi/Charts/pull/4516) ([StewartLynch](https://github.com/StewartLynch)) +- Import swift algorithms [\#4497](https://github.com/danielgindi/Charts/pull/4497) ([jjatie](https://github.com/jjatie)) +- Algorithm updates [\#3638](https://github.com/danielgindi/Charts/pull/3638) ([jjatie](https://github.com/jjatie)) + +## [v4.0.0](https://github.com/danielgindi/Charts/tree/v4.0.0) (2020-10-30) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.6.0...v4.0.0) + +**Merged pull requests:** + +- Alternative for SPM dynamic linking [\#4478](https://github.com/danielgindi/Charts/pull/4478) ([alexruperez](https://github.com/alexruperez)) +- Resolve conflict for 4.0 branch and master [\#4456](https://github.com/danielgindi/Charts/pull/4456) ([liuxuan30](https://github.com/liuxuan30)) +- ChartBaseDataSet, copy constructor - missing drawIconsEnabled parameter initialization [\#4424](https://github.com/danielgindi/Charts/pull/4424) ([bivant](https://github.com/bivant)) + +## [v3.6.0](https://github.com/danielgindi/Charts/tree/v3.6.0) (2020-09-21) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.5.0...v3.6.0) + +**Implemented enhancements:** + +- Bars not showing bar chart [\#1742](https://github.com/danielgindi/Charts/issues/1742) + +**Fixed bugs:** + +- Fatal error: Can't form Range with upperBound \< lowerBound [\#4046](https://github.com/danielgindi/Charts/issues/4046) + +**Closed issues:** + +- How to add string values in Y Axis for Example How show Mutli. graphs for months data? [\#4473](https://github.com/danielgindi/Charts/issues/4473) +- Charts not supported by xcode 12 and swift compiler version 5.3 [\#4471](https://github.com/danielgindi/Charts/issues/4471) +- How can i set each slice percentage different color? [\#4451](https://github.com/danielgindi/Charts/issues/4451) +- Support for Swift Package manager [\#4450](https://github.com/danielgindi/Charts/issues/4450) +- If you get an element of the histogram, then change the color [\#4446](https://github.com/danielgindi/Charts/issues/4446) +- lineChartView.zoom\(\) - how to obtain center x/y coordinates [\#4434](https://github.com/danielgindi/Charts/issues/4434) +- Crash after updating to iOS 13.6 and Xcode 11.6 on NaN [\#4433](https://github.com/danielgindi/Charts/issues/4433) +- Multiple Highlight points [\#4430](https://github.com/danielgindi/Charts/issues/4430) +- DateValueFormatter uses wrong date [\#4427](https://github.com/danielgindi/Charts/issues/4427) +- why y asix value is getting more and more high, how to disable it [\#4425](https://github.com/danielgindi/Charts/issues/4425) +- One group bar chart how to use XAxis and YAxis, and then show different number to show two unit [\#4416](https://github.com/danielgindi/Charts/issues/4416) +- Legend does not support dashed lines [\#4413](https://github.com/danielgindi/Charts/issues/4413) +- How to get number of items displayed in yAxis [\#4412](https://github.com/danielgindi/Charts/issues/4412) +- corner [\#4410](https://github.com/danielgindi/Charts/issues/4410) +- corne人、 [\#4409](https://github.com/danielgindi/Charts/issues/4409) +- How do you edit xAxis values? [\#4401](https://github.com/danielgindi/Charts/issues/4401) +- Cannot get x axis label into center of the bar chart [\#4394](https://github.com/danielgindi/Charts/issues/4394) +- How the Remove the Background Graph lines from BarChart Graph [\#4388](https://github.com/danielgindi/Charts/issues/4388) +- How to Remove the Background Graph lines from BarChart Graph [\#4387](https://github.com/danielgindi/Charts/issues/4387) +- Add Gradient to Bar Chart - BarChartDataSet [\#4385](https://github.com/danielgindi/Charts/issues/4385) +- How to run playgrounds? [\#4384](https://github.com/danielgindi/Charts/issues/4384) +- CDN: trunk URL couldn't be downloaded: https://cdn.jsdelivr.net/cocoa/Specs/5/1/e/Charts/3.4.0/Charts.podspec.json Response: SSL peer certificate or SSH remote key was not OK [\#4381](https://github.com/danielgindi/Charts/issues/4381) +- Mac Catalyst compile error: no such module 'Charts' [\#4380](https://github.com/danielgindi/Charts/issues/4380) +- How to display the data \(one line has two different data\( -1 ~0 and 0 -1\) [\#4376](https://github.com/danielgindi/Charts/issues/4376) +- Chart load with large amounts of data takes to much time [\#4372](https://github.com/danielgindi/Charts/issues/4372) +- 使用复杂 [\#4369](https://github.com/danielgindi/Charts/issues/4369) +- Overriding DefaultAxisValueFormatter Doesn't Work [\#4365](https://github.com/danielgindi/Charts/issues/4365) +- RadarCharView data update may cause crash [\#4361](https://github.com/danielgindi/Charts/issues/4361) +- SwiftUI tutorial Bar Chart [\#4360](https://github.com/danielgindi/Charts/issues/4360) +- drawGridLinesBehindDataEnabled has no effect on CombinedChart [\#4357](https://github.com/danielgindi/Charts/issues/4357) +- - [\#4356](https://github.com/danielgindi/Charts/issues/4356) +- iOS Charts subclass Markerview use Swift always Build Error in “xxx-Swift.h” [\#4355](https://github.com/danielgindi/Charts/issues/4355) +- Set images on xAxis on HorizontalBarChartView [\#4353](https://github.com/danielgindi/Charts/issues/4353) +- How to set spacing between bars on a BarChartDataEntry [\#4352](https://github.com/danielgindi/Charts/issues/4352) +- Swift 5.0 in 4.0.0 Branch? [\#4351](https://github.com/danielgindi/Charts/issues/4351) +- Rounded bars swift5 [\#4350](https://github.com/danielgindi/Charts/issues/4350) +- The “Swift Language Version” \(SWIFT\_VERSION\) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor. [\#4347](https://github.com/danielgindi/Charts/issues/4347) +- DropDowm pod for xcode 9 [\#4346](https://github.com/danielgindi/Charts/issues/4346) +- How to creat a custom LimitLine with two labels [\#4344](https://github.com/danielgindi/Charts/issues/4344) +- How to remove top grid line for line chart [\#4343](https://github.com/danielgindi/Charts/issues/4343) +- Bars not showing BarChart [\#4337](https://github.com/danielgindi/Charts/issues/4337) +- Compiler issue Xcode 11.4 swift 5.2 using Carthage [\#4335](https://github.com/danielgindi/Charts/issues/4335) +- Radar type 有没有圆形结构呢? [\#4332](https://github.com/danielgindi/Charts/issues/4332) +- Build error Module compiled with Swift 5.1.3 cannot be imported by the Swift 5.2 compiler [\#4322](https://github.com/danielgindi/Charts/issues/4322) +- linecharts moveViewToX不起作用 [\#4313](https://github.com/danielgindi/Charts/issues/4313) +- Compatibility with SwiftUI [\#4305](https://github.com/danielgindi/Charts/issues/4305) +- CGAffineTransformInvert: singular matrix [\#4290](https://github.com/danielgindi/Charts/issues/4290) +- BarChart.setData\(\) not working [\#4284](https://github.com/danielgindi/Charts/issues/4284) +- Combined chart \(Scatter and Line\) producing random results. [\#4261](https://github.com/danielgindi/Charts/issues/4261) +- Using charts with Mac Catalyst generate many deprecated warnings. [\#4249](https://github.com/danielgindi/Charts/issues/4249) +- entries属性只能readonly了吗 能不能改成可以读写 [\#4108](https://github.com/danielgindi/Charts/issues/4108) +- Draw gradient line in line chart [\#537](https://github.com/danielgindi/Charts/issues/537) + +**Merged pull requests:** + +- Update readme.md with link to SwiftUI tutorial [\#4400](https://github.com/danielgindi/Charts/pull/4400) ([Basistiy](https://github.com/Basistiy)) +- Increase iOS version to 9 in Package.swift [\#4399](https://github.com/danielgindi/Charts/pull/4399) ([Rubenfer](https://github.com/Rubenfer)) +- Fix AxisBase Formatter Getter \(Fixes \#4365\) [\#4366](https://github.com/danielgindi/Charts/pull/4366) ([giantramen](https://github.com/giantramen)) +- Added video tutorial to README [\#4286](https://github.com/danielgindi/Charts/pull/4286) ([rebeloper](https://github.com/rebeloper)) + +## [v3.5.0](https://github.com/danielgindi/Charts/tree/v3.5.0) (2020-04-16) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.4.0...v3.5.0) + +**Implemented enhancements:** + +- Height of Half Pie Chart \(white space in the chart where the removed bottom half from pie chart should be\) [\#4033](https://github.com/danielgindi/Charts/issues/4033) + +**Closed issues:** + +- How to remove colors below bar chart [\#4334](https://github.com/danielgindi/Charts/issues/4334) +- Last item is not displayed [\#4324](https://github.com/danielgindi/Charts/issues/4324) +- The Demo app Doesn't compile for tvOS [\#4320](https://github.com/danielgindi/Charts/issues/4320) +- Module compiled with Swift 5.1.2 cannot be imported by Swift 5.2 compiler [\#4317](https://github.com/danielgindi/Charts/issues/4317) +- Show 'k' instead of ',000' in large numbers at leftAxis [\#4309](https://github.com/danielgindi/Charts/issues/4309) +- 为什么x轴和柱子之间有空间呢? [\#4307](https://github.com/danielgindi/Charts/issues/4307) +- why Legend.position is deprecated? How do I set the position of the legend? [\#4306](https://github.com/danielgindi/Charts/issues/4306) +- How to set 24 hour time format in x-axis of line chart? [\#4302](https://github.com/danielgindi/Charts/issues/4302) +- can i customise your chart? [\#4301](https://github.com/danielgindi/Charts/issues/4301) +- Getting the value of an item selected. [\#4295](https://github.com/danielgindi/Charts/issues/4295) +- how to set the legend's position? [\#4292](https://github.com/danielgindi/Charts/issues/4292) +- ChartLimitLine is not drawn as dashed [\#4291](https://github.com/danielgindi/Charts/issues/4291) +- Legend not displayed correctly in iOS 13.2.2 [\#4289](https://github.com/danielgindi/Charts/issues/4289) +- dyld: Library not loaded: @rpath/Charts.framework/Charts XCODE 11.3.1 [\#4280](https://github.com/danielgindi/Charts/issues/4280) +- ChartData::getDataSetByLabel always return the first IChartDataSet when ignorecase = true [\#4274](https://github.com/danielgindi/Charts/issues/4274) +- How to use hover? [\#4267](https://github.com/danielgindi/Charts/issues/4267) +- AxisRange and drag [\#4264](https://github.com/danielgindi/Charts/issues/4264) +- How to add legends with X axis and Y axis values in the balloon marker view in IOS Charts? [\#4263](https://github.com/danielgindi/Charts/issues/4263) +- Can we set two fill colors for line chart? [\#4260](https://github.com/danielgindi/Charts/issues/4260) +- i do not want show some value How do it? [\#4255](https://github.com/danielgindi/Charts/issues/4255) +- `isAccessibilityElement` should not return `false` for `NSUIView` [\#4253](https://github.com/danielgindi/Charts/issues/4253) +- x轴从数据量多切换到数据量少的时候 x轴间距变大 [\#4245](https://github.com/danielgindi/Charts/issues/4245) +- Access level of ChartViewBase's API [\#4243](https://github.com/danielgindi/Charts/issues/4243) +- 数据源都是0的时候有问题 [\#4241](https://github.com/danielgindi/Charts/issues/4241) +- How to set space between Y-Axis labels and graph [\#4237](https://github.com/danielgindi/Charts/issues/4237) +- HorizontalBarChartView,when I use setVisibleXRangeMaximum\(5.0\),xAxis cannot show all label [\#4235](https://github.com/danielgindi/Charts/issues/4235) +- OverLap stackview chart - Selected color - Layout Stack bar [\#4234](https://github.com/danielgindi/Charts/issues/4234) +- Xcode tries to use AppKit when compiling with Mac Catalyst [\#4233](https://github.com/danielgindi/Charts/issues/4233) +- CombinedChartView Legend only shows line data info not info for other types [\#4230](https://github.com/danielgindi/Charts/issues/4230) +- Legend in CombinedChartView only shows Legend for LineData [\#4229](https://github.com/danielgindi/Charts/issues/4229) +- X-Axis setLabel with force enabled not working [\#4228](https://github.com/danielgindi/Charts/issues/4228) +- Can BarChartDataEntry with multiple Y values render icon once instead of for each Y value? [\#4225](https://github.com/danielgindi/Charts/issues/4225) +- Radar chart - cannot hide yAxis [\#4224](https://github.com/danielgindi/Charts/issues/4224) +- Highlight does not respect the draw order. [\#4223](https://github.com/danielgindi/Charts/issues/4223) +- Source not able to compile [\#4221](https://github.com/danielgindi/Charts/issues/4221) +- How to render radar-chart with live data and dynamic array entries? [\#4220](https://github.com/danielgindi/Charts/issues/4220) +- How to color one quadrant of the graph? [\#4219](https://github.com/danielgindi/Charts/issues/4219) +- SwiftCharts: How to set space between x axis equally ? [\#4218](https://github.com/danielgindi/Charts/issues/4218) +- How can i set xVals in line chat in latest version. [\#4217](https://github.com/danielgindi/Charts/issues/4217) +- Separator between x-Axis value [\#4215](https://github.com/danielgindi/Charts/issues/4215) +- Reload LineChartView with Button [\#4214](https://github.com/danielgindi/Charts/issues/4214) +- Contains is not implemented in ChartDataSet, crashes when called [\#4212](https://github.com/danielgindi/Charts/issues/4212) +- PieChart outside value label border [\#4210](https://github.com/danielgindi/Charts/issues/4210) +- CombinedChartRenderer property : \_renderers should be set open [\#4208](https://github.com/danielgindi/Charts/issues/4208) +- Create special line chart [\#4207](https://github.com/danielgindi/Charts/issues/4207) +- How can I add images on Y axis instead of values [\#4206](https://github.com/danielgindi/Charts/issues/4206) +- How to remove top and bottom extra space in LineChartView? [\#4205](https://github.com/danielgindi/Charts/issues/4205) +- Bar Chart Gradient color issue [\#4203](https://github.com/danielgindi/Charts/issues/4203) +- Y轴上数据是整数值,但刻度是小数应该怎么办?怎么才能让刻度值只显示整数? [\#4202](https://github.com/danielgindi/Charts/issues/4202) +- How to add pieChartDataSet.sliceSpace only for the selected item? [\#4201](https://github.com/danielgindi/Charts/issues/4201) +- \[LineChartView\] Issues with circles positions [\#4200](https://github.com/danielgindi/Charts/issues/4200) +- BarChart bottom space when having a small value [\#4198](https://github.com/danielgindi/Charts/issues/4198) +- Is there a way to add to the datapoint label in a line chart? [\#4196](https://github.com/danielgindi/Charts/issues/4196) +- Change position of data labels to bottom of the line in ios charts [\#4195](https://github.com/danielgindi/Charts/issues/4195) +- Custom chart with overrided legendRenderer not working [\#4194](https://github.com/danielgindi/Charts/issues/4194) +- Is this possible to use with project catalyst? [\#4193](https://github.com/danielgindi/Charts/issues/4193) +- pageviewcontroller Cannot drag inside [\#4192](https://github.com/danielgindi/Charts/issues/4192) +- How Pie chart Center Click Disable [\#4191](https://github.com/danielgindi/Charts/issues/4191) +- How to set only given values to xAxis, set equal distance between those values? [\#4190](https://github.com/danielgindi/Charts/issues/4190) +- How can i override the xAxisrenderer in RadarChartView [\#4189](https://github.com/danielgindi/Charts/issues/4189) +- iOS Charts not showing all xAxis Value [\#4187](https://github.com/danielgindi/Charts/issues/4187) +- How can I customize chart without modifying the source code? [\#4185](https://github.com/danielgindi/Charts/issues/4185) +- Add Line Cap to Bar for Horizontal Bar Chart [\#4183](https://github.com/danielgindi/Charts/issues/4183) +- X/Y coordinates being rounded to whole numbers instead of being presented as decimals [\#4182](https://github.com/danielgindi/Charts/issues/4182) +- I need to draw peichart like below image [\#4177](https://github.com/danielgindi/Charts/issues/4177) +- Candlestick xAxis label's too small when zoomed out [\#4176](https://github.com/danielgindi/Charts/issues/4176) +- How to change the color of text that displayed inside the chart ios swift 4. [\#4174](https://github.com/danielgindi/Charts/issues/4174) +- runtime/cgo: could not obtain pthread\_keys on Xcode 11 simulator [\#4173](https://github.com/danielgindi/Charts/issues/4173) +- PieChartView show xValuePosition and yValuePosition on item press [\#4172](https://github.com/danielgindi/Charts/issues/4172) +- Should Version 4.0.0 be updated to include changes from recent releases? [\#4167](https://github.com/danielgindi/Charts/issues/4167) +- How to control colors within a single dataSet? [\#4166](https://github.com/danielgindi/Charts/issues/4166) +- X labels that display in 3.0.4 are not rendered in 3.0.5 [\#4165](https://github.com/danielgindi/Charts/issues/4165) +- How to draw a circle markers when value is selected in Line Chart [\#4164](https://github.com/danielgindi/Charts/issues/4164) +- LineChartView万级数据绘制缓慢卡顿 [\#4158](https://github.com/danielgindi/Charts/issues/4158) +- UITableView does not scroll when dragging within chart for iOS 13. [\#4156](https://github.com/danielgindi/Charts/issues/4156) +- How to properly subclass XAxis? [\#4155](https://github.com/danielgindi/Charts/issues/4155) +- Line Chart ignores colors if mode is set to bezier. [\#4148](https://github.com/danielgindi/Charts/issues/4148) +- BarChartRenderer FatalError: Index out of range [\#4146](https://github.com/danielgindi/Charts/issues/4146) +- I have two ChartLimitLine and I need to know how to fill the area between them I'm using LineChartView [\#4142](https://github.com/danielgindi/Charts/issues/4142) +- I can't set static count of y axes and labels [\#4139](https://github.com/danielgindi/Charts/issues/4139) +- how can I set a Non-uniform coordinate Y-axis? [\#4137](https://github.com/danielgindi/Charts/issues/4137) +- Buuble Chart event for Single bubble [\#4134](https://github.com/danielgindi/Charts/issues/4134) +- Default Colors Should Support Dark Mode \[iOS 13\] [\#4133](https://github.com/danielgindi/Charts/issues/4133) +- Entries are Assignment to readonly property. [\#4126](https://github.com/danielgindi/Charts/issues/4126) +- BarChartView have interval between bar and xaxis [\#4115](https://github.com/danielgindi/Charts/issues/4115) +- can not draw circle on axis as the picture [\#4111](https://github.com/danielgindi/Charts/issues/4111) +- Empty Line Chart, setVisibleXRangeMaximum causing Fatal error: Double cannot be converted to Int [\#4109](https://github.com/danielgindi/Charts/issues/4109) +- Description is still saying OSX [\#4106](https://github.com/danielgindi/Charts/issues/4106) +- Line Graph draggable points just in y-axis. [\#4059](https://github.com/danielgindi/Charts/issues/4059) +- The x axis cannot draw displayed incorrectly. [\#4057](https://github.com/danielgindi/Charts/issues/4057) +- Crash when using BarChartDataSet with BarChartData [\#4040](https://github.com/danielgindi/Charts/issues/4040) +- leftAxis line disappears when filling area between two line charts. [\#4037](https://github.com/danielgindi/Charts/issues/4037) +- Last value and highlight/selected values in candlestick chart [\#4036](https://github.com/danielgindi/Charts/issues/4036) +- Last xAxis label cutting [\#4023](https://github.com/danielgindi/Charts/issues/4023) +- `Fill` isn't extendable [\#3140](https://github.com/danielgindi/Charts/issues/3140) +- Non-Public API Usage [\#2899](https://github.com/danielgindi/Charts/issues/2899) +- BarChartView: xAxis values are not aligned with bars [\#2106](https://github.com/danielgindi/Charts/issues/2106) +- wanted beta testeur for new axe logarithmic [\#2102](https://github.com/danielgindi/Charts/issues/2102) + +**Merged pull requests:** + +- Fix warnings on current code base [\#4321](https://github.com/danielgindi/Charts/pull/4321) ([liuxuan30](https://github.com/liuxuan30)) +- Bugfix/legend offset double [\#4277](https://github.com/danielgindi/Charts/pull/4277) ([danielgindi](https://github.com/danielgindi)) +- Fix for \#4274 string comparison issue in ChartData::getDataSetByLabel [\#4275](https://github.com/danielgindi/Charts/pull/4275) ([PeterKaminski09](https://github.com/PeterKaminski09)) +- Restored correct velocity sampler [\#4273](https://github.com/danielgindi/Charts/pull/4273) ([danielgindi](https://github.com/danielgindi)) +- Bugfix/pie highlight [\#4272](https://github.com/danielgindi/Charts/pull/4272) ([danielgindi](https://github.com/danielgindi)) +- Call chartViewDidEndPanning on when \*panning\* is ended [\#4271](https://github.com/danielgindi/Charts/pull/4271) ([danielgindi](https://github.com/danielgindi)) +- labelXOffset = 10 is default for radar chart only [\#4270](https://github.com/danielgindi/Charts/pull/4270) ([danielgindi](https://github.com/danielgindi)) +- Use faster check for line whether it's inside drawing rect [\#4269](https://github.com/danielgindi/Charts/pull/4269) ([danielgindi](https://github.com/danielgindi)) +- Refactor/cleanup [\#4268](https://github.com/danielgindi/Charts/pull/4268) ([danielgindi](https://github.com/danielgindi)) +- address \#4033 draw half pie chart more accurate [\#4266](https://github.com/danielgindi/Charts/pull/4266) ([liuxuan30](https://github.com/liuxuan30)) +- Update README.md, added link to tutorial about Radar Charts. [\#4258](https://github.com/danielgindi/Charts/pull/4258) ([DavidPiper94](https://github.com/DavidPiper94)) +- Changes to fix Catalyst compatibility [\#4254](https://github.com/danielgindi/Charts/pull/4254) ([CAPIStkidd](https://github.com/CAPIStkidd)) +- Platform separation [\#4178](https://github.com/danielgindi/Charts/pull/4178) ([jjatie](https://github.com/jjatie)) +- introduce gracefully degrading abstractions for dark mode for ios and… [\#4171](https://github.com/danielgindi/Charts/pull/4171) ([motocodeltd](https://github.com/motocodeltd)) +- Performed recommended localization and internationalization changes. [\#4162](https://github.com/danielgindi/Charts/pull/4162) ([coltonlemmon](https://github.com/coltonlemmon)) +- Use interpolation instead of '+' concatenation for problematic expression [\#4123](https://github.com/danielgindi/Charts/pull/4123) ([Jumhyn](https://github.com/Jumhyn)) +- Allowing overriding for YAxisRenderer.drawYLabels [\#4089](https://github.com/danielgindi/Charts/pull/4089) ([muclemente](https://github.com/muclemente)) +- move isDrawCirclesEnabled check further up in code to avoid creating … [\#4050](https://github.com/danielgindi/Charts/pull/4050) ([xymtek](https://github.com/xymtek)) + +## [v3.4.0](https://github.com/danielgindi/Charts/tree/v3.4.0) (2019-10-09) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.3.0...v3.4.0) + +**Fixed bugs:** + +- Line charts: Line sections disappear when zoomed in \(has PR\). [\#4099](https://github.com/danielgindi/Charts/issues/4099) +- Line chart x axis animation is broken [\#4093](https://github.com/danielgindi/Charts/issues/4093) +- LineChartView.highlightValue causes CoreGraphics API errors [\#4043](https://github.com/danielgindi/Charts/issues/4043) +- Horizontal Bezier Line Graph Not Drawing Through All Points [\#3960](https://github.com/danielgindi/Charts/issues/3960) +- Index out of bounds exception in v3.2 in createAccessibleElement [\#3659](https://github.com/danielgindi/Charts/issues/3659) + +**Closed issues:** + +- Xcode asking for constants instead of variables in Charts code [\#4161](https://github.com/danielgindi/Charts/issues/4161) +- Blank space should not exist in BarChartView [\#4157](https://github.com/danielgindi/Charts/issues/4157) +- Could not find module 'Charts' for target 'arm64-apple-ios'; found: x86\_64-apple-ios-simulator, x86\_64 [\#4154](https://github.com/danielgindi/Charts/issues/4154) +- 指定哪个swift版本都报语法错误 [\#4145](https://github.com/danielgindi/Charts/issues/4145) +- lineChart customize the color or style of the selected point [\#4144](https://github.com/danielgindi/Charts/issues/4144) +- How do I customize the color or style of the selected point in a polygraph [\#4143](https://github.com/danielgindi/Charts/issues/4143) +- Help, How to achieve this style? [\#4138](https://github.com/danielgindi/Charts/issues/4138) +- AutoScaleMinMax doesn't work in candlestick iOS [\#4135](https://github.com/danielgindi/Charts/issues/4135) +- 怎么手动设定滚动到指定x坐标 [\#4130](https://github.com/danielgindi/Charts/issues/4130) +- The reuse of charts on tableviewcell [\#4127](https://github.com/danielgindi/Charts/issues/4127) +- LineChartView decrease height if add many LineChartDataSets [\#4122](https://github.com/danielgindi/Charts/issues/4122) +- 堆叠柱状图不同数据之间的间距 [\#4120](https://github.com/danielgindi/Charts/issues/4120) +- Removing LineChartView to save memory? [\#4114](https://github.com/danielgindi/Charts/issues/4114) +- h [\#4110](https://github.com/danielgindi/Charts/issues/4110) +- swift 5 [\#4107](https://github.com/danielgindi/Charts/issues/4107) +- Scatter charts dots needs to be shown even it is less than half [\#4096](https://github.com/danielgindi/Charts/issues/4096) +- barchart 1st bar offset [\#4092](https://github.com/danielgindi/Charts/issues/4092) +- Compiling Chart with Swift 5.1 raises compilation error [\#4090](https://github.com/danielgindi/Charts/issues/4090) +- How to change color for Key's Label ? [\#4088](https://github.com/danielgindi/Charts/issues/4088) +- y axis [\#4087](https://github.com/danielgindi/Charts/issues/4087) +- No chart data available \(displaying large data sets\) [\#4075](https://github.com/danielgindi/Charts/issues/4075) +- 3.2.2 xBounds starts from 1 [\#4073](https://github.com/danielgindi/Charts/issues/4073) +- Build error on Xcode 11 beta 3 - macOS app [\#4071](https://github.com/danielgindi/Charts/issues/4071) +- Why not fix \#3865 in swift4.2 as well? [\#4067](https://github.com/danielgindi/Charts/issues/4067) +- Pod install failed - Could not found branch v3.3 issue [\#4063](https://github.com/danielgindi/Charts/issues/4063) +- Potential bug highlighting Bars in Bar chart [\#4062](https://github.com/danielgindi/Charts/issues/4062) +- PieChart slices with different height/thick [\#4061](https://github.com/danielgindi/Charts/issues/4061) +- Line Chart crashes when upgrading from 3.2.1 to 3.2.2 or greater [\#4060](https://github.com/danielgindi/Charts/issues/4060) +- How to set the shadow width? [\#4058](https://github.com/danielgindi/Charts/issues/4058) +- iOS13 port [\#4056](https://github.com/danielgindi/Charts/issues/4056) +- Embedding in Objective C++ project [\#4054](https://github.com/danielgindi/Charts/issues/4054) +- Example project does not work for latest swift [\#4053](https://github.com/danielgindi/Charts/issues/4053) +- Line chart line color array issue [\#4052](https://github.com/danielgindi/Charts/issues/4052) +- I set the display is double but turned into an integer [\#4051](https://github.com/danielgindi/Charts/issues/4051) +- xAxis Renderer label [\#4039](https://github.com/danielgindi/Charts/issues/4039) +- Highlight midPoint of visible area [\#4032](https://github.com/danielgindi/Charts/issues/4032) +- Snap to position for x values \(paging\) [\#4030](https://github.com/danielgindi/Charts/issues/4030) +- how can I use both chart in one view like video? [\#4026](https://github.com/danielgindi/Charts/issues/4026) +- How to Parse xValue and yValue to LineChartData ? [\#4025](https://github.com/danielgindi/Charts/issues/4025) +- Fatal error: Index out of range from subscript\(position: Index\) -\> Element [\#4024](https://github.com/danielgindi/Charts/issues/4024) +- Pie chart label [\#4022](https://github.com/danielgindi/Charts/issues/4022) +- Cannot find "@import Charts;" in -Swift.h, I can only @import Charts in OC files, anything I missed? [\#4021](https://github.com/danielgindi/Charts/issues/4021) +- Cannot subclass LineChartRenderer with Clang 11 [\#4018](https://github.com/danielgindi/Charts/issues/4018) +- Unable to compile with Swift Package Manager due to missing dependencies [\#4016](https://github.com/danielgindi/Charts/issues/4016) +- Show values in marker when you click a circle in LineChart [\#4015](https://github.com/danielgindi/Charts/issues/4015) +- Is it possible to show only part of series on full XAxis labels? [\#4014](https://github.com/danielgindi/Charts/issues/4014) +- BarChartRenderer FatalError: Index out of range [\#4013](https://github.com/danielgindi/Charts/issues/4013) +- how to set max zoom scale for y-axis [\#4011](https://github.com/danielgindi/Charts/issues/4011) +- ScatterChartDataSet basic initializer causes crashes [\#4010](https://github.com/danielgindi/Charts/issues/4010) +- oc project could't use [\#4008](https://github.com/danielgindi/Charts/issues/4008) +- Line chart issue [\#4005](https://github.com/danielgindi/Charts/issues/4005) +- Crash on PieChartRenderer line 833 [\#4001](https://github.com/danielgindi/Charts/issues/4001) +- BarChartView shows on UI when y value is zero [\#4000](https://github.com/danielgindi/Charts/issues/4000) +- can make excel [\#3999](https://github.com/danielgindi/Charts/issues/3999) +- Cannot remove an observer for the key path "bounds" because it is not registered as an observer [\#3995](https://github.com/danielgindi/Charts/issues/3995) +- How to set y axis value with larger difference because my candles are showing very small in size please provide any way [\#3993](https://github.com/danielgindi/Charts/issues/3993) +- compiling for iOS 8.0, but module 'Charts' has a minimum deployment target of iOS 8.4: [\#3992](https://github.com/danielgindi/Charts/issues/3992) +- SIGABRT [\#3986](https://github.com/danielgindi/Charts/issues/3986) +- Getting The below error on Xcode update: Error Group :-1: Undefined symbol: \_OBJC\_CLASS\_$\_XBarChart :-1: Undefined symbol: \_OBJC\_CLASS\_$\_XBarChartConfiguration :-1: Undefined symbol: \_OBJC\_CLASS\_$\_XBarItem, When I run on real device. [\#3985](https://github.com/danielgindi/Charts/issues/3985) +- Second to last value in stacked BarChart not drawn when the last value is zero [\#3984](https://github.com/danielgindi/Charts/issues/3984) +- Value labels are not always showing in horizontal bar chart [\#3981](https://github.com/danielgindi/Charts/issues/3981) +- When I manually integrated "charts", running the iOS9.0 emulator crashed. [\#3980](https://github.com/danielgindi/Charts/issues/3980) +- LineChartDataSet function setColors is unavailable? [\#3979](https://github.com/danielgindi/Charts/issues/3979) +- notifyDataSetChanged\(\) crashes with CGAffineTransformInvert: singular matrix. [\#3978](https://github.com/danielgindi/Charts/issues/3978) +- this version is 3.2.2 in pods, this version has problem [\#3977](https://github.com/danielgindi/Charts/issues/3977) +- Undefined symbol: method descriptor for Charts.ChartViewBase.initialize\(\) -\> \(\) [\#3976](https://github.com/danielgindi/Charts/issues/3976) +- PieChart highlightEnabled flag operation is reverse of setting [\#3975](https://github.com/danielgindi/Charts/issues/3975) +- I am not getting the last value of x axis in the group chart [\#3974](https://github.com/danielgindi/Charts/issues/3974) +- Charts 3.3.0 not running on Xcode 10.2 [\#3972](https://github.com/danielgindi/Charts/issues/3972) +- change line chart legend text color [\#3971](https://github.com/danielgindi/Charts/issues/3971) +- drawCenterTextEnable [\#3969](https://github.com/danielgindi/Charts/issues/3969) +- Installing version 3.3 from Pods not found [\#3968](https://github.com/danielgindi/Charts/issues/3968) +- zero value in bar chart [\#3967](https://github.com/danielgindi/Charts/issues/3967) +- \[Question\] Line Chart Filled Circle Hole when highlighted [\#3966](https://github.com/danielgindi/Charts/issues/3966) +- How to change pie chart boarder color and width size ? and separator line width size and curve? in swift 4 [\#3959](https://github.com/danielgindi/Charts/issues/3959) +- Charts Pagination [\#3957](https://github.com/danielgindi/Charts/issues/3957) +- button press [\#3956](https://github.com/danielgindi/Charts/issues/3956) +- Edit leading Trailing and width of bar [\#3954](https://github.com/danielgindi/Charts/issues/3954) +- Can't suspend the ongoing drag [\#3953](https://github.com/danielgindi/Charts/issues/3953) +- incorrect display in LineChartView When all yAxis data being 0 [\#3950](https://github.com/danielgindi/Charts/issues/3950) +- Balloon Marker Swift errors [\#3947](https://github.com/danielgindi/Charts/issues/3947) +- Linhas de sobreposição PieChart [\#3942](https://github.com/danielgindi/Charts/issues/3942) +- Display Attributed String on X-Axis [\#3941](https://github.com/danielgindi/Charts/issues/3941) +- getHighlightByTouchPoint will get nil [\#3940](https://github.com/danielgindi/Charts/issues/3940) +- Fatal error: removeEntry is not implemented in ChartBaseDataSet: [\#3937](https://github.com/danielgindi/Charts/issues/3937) +- Line graph points create lines to other points [\#3936](https://github.com/danielgindi/Charts/issues/3936) +- CombinedChart and data [\#3930](https://github.com/danielgindi/Charts/issues/3930) +- Gradient and round corner in bar chart [\#3928](https://github.com/danielgindi/Charts/issues/3928) +- Slide space color pie-chart [\#3926](https://github.com/danielgindi/Charts/issues/3926) +- Cannot build enterprise with Charts [\#3924](https://github.com/danielgindi/Charts/issues/3924) +- ChartUtils.swift line 225 [\#3922](https://github.com/danielgindi/Charts/issues/3922) +- Not Drawing Chart With Exact Axis [\#3921](https://github.com/danielgindi/Charts/issues/3921) +- LineChartView with a line that goes backwards [\#3919](https://github.com/danielgindi/Charts/issues/3919) +- Remove slices text in pieChart [\#3918](https://github.com/danielgindi/Charts/issues/3918) +- Crash at BarChartDataSet as! IBarChartDataSet [\#3917](https://github.com/danielgindi/Charts/issues/3917) +- carthage support lagging - needs updating for Xcode 10.2 & Swift5 [\#3914](https://github.com/danielgindi/Charts/issues/3914) +- The first dot doesn't show up when I use lineChart [\#3912](https://github.com/danielgindi/Charts/issues/3912) +- How to listen to the end of a chart swipe to call a method [\#3911](https://github.com/danielgindi/Charts/issues/3911) +- How to display single data when using LineChartView [\#3910](https://github.com/danielgindi/Charts/issues/3910) +- Straight Line in third quadrant does't show up [\#3898](https://github.com/danielgindi/Charts/issues/3898) +- Horizontal scrolling in long vertical tableView causes the outer table to jump [\#3866](https://github.com/danielgindi/Charts/issues/3866) +- PieChart with value lines with very small values render values on top of each other [\#3613](https://github.com/danielgindi/Charts/issues/3613) +- Line Chart do not draw line for Data Set [\#2567](https://github.com/danielgindi/Charts/issues/2567) +- Stacked bar marker returns entry.y of entire stack [\#2173](https://github.com/danielgindi/Charts/issues/2173) +- Repeating Xaxis values [\#2143](https://github.com/danielgindi/Charts/issues/2143) + +**Merged pull requests:** + +- Apply Xcode11 changes [\#4153](https://github.com/danielgindi/Charts/pull/4153) ([liuxuan30](https://github.com/liuxuan30)) +- Fixes \#4099: Line renderer did not render lines if their coordinates fell outside of the viewport. [\#4100](https://github.com/danielgindi/Charts/pull/4100) ([4np](https://github.com/4np)) +- Fix line chart x axis animation \#4093, also close \#3960 [\#4094](https://github.com/danielgindi/Charts/pull/4094) ([liuxuan30](https://github.com/liuxuan30)) +- Update License [\#4055](https://github.com/danielgindi/Charts/pull/4055) ([jobinsjohn](https://github.com/jobinsjohn)) +- fixed stacked chart bug when there are different stacks on columns. [\#4029](https://github.com/danielgindi/Charts/pull/4029) ([Scalman](https://github.com/Scalman)) +- Fix Swift Package Manager compile issue [\#4017](https://github.com/danielgindi/Charts/pull/4017) ([rynecheow](https://github.com/rynecheow)) +- Added a safety check before an unsafe array operation [\#4006](https://github.com/danielgindi/Charts/pull/4006) ([UberNick](https://github.com/UberNick)) +- fix \#3975 \(pie chart highlight disabled will lead to empty slice\) [\#3996](https://github.com/danielgindi/Charts/pull/3996) ([liuxuan30](https://github.com/liuxuan30)) +- For \#3917. make init\(label: String?\) convenient initializer [\#3973](https://github.com/danielgindi/Charts/pull/3973) ([liuxuan30](https://github.com/liuxuan30)) +- Avoid passing NaN to CoreGraphics API \(Fixes \#1626\) [\#2568](https://github.com/danielgindi/Charts/pull/2568) ([chiahan1123](https://github.com/chiahan1123)) + +## [v3.3.0](https://github.com/danielgindi/Charts/tree/v3.3.0) (2019-04-24) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.2.2...v3.3.0) + +**Implemented enhancements:** + +- Provide pre-compiled universal binary [\#3867](https://github.com/danielgindi/Charts/issues/3867) +- Renamed `values` to `entries` to reflect the property's type [\#3847](https://github.com/danielgindi/Charts/pull/3847) ([jjatie](https://github.com/jjatie)) + +**Fixed bugs:** + +- Pie chart with vertical orientation clips last legend entry [\#3860](https://github.com/danielgindi/Charts/issues/3860) + +**Closed issues:** + +- 雷达图的拐点是怎么设置的 [\#3964](https://github.com/danielgindi/Charts/issues/3964) +- BarChartView没有从0开始 [\#3963](https://github.com/danielgindi/Charts/issues/3963) +- version 3.3 using spm results invalid string error [\#3962](https://github.com/danielgindi/Charts/issues/3962) +- 折线图能分页吗 就是滑动到最左边 网络请求再加载数据 [\#3961](https://github.com/danielgindi/Charts/issues/3961) +- BarChartView problem on dataset count changed [\#3958](https://github.com/danielgindi/Charts/issues/3958) +- No Such Module 'Charts' [\#3955](https://github.com/danielgindi/Charts/issues/3955) +- drawing asynchronous [\#3952](https://github.com/danielgindi/Charts/issues/3952) +- demo can not run [\#3951](https://github.com/danielgindi/Charts/issues/3951) +- BarChartView extends all bars to bottom when all values are negative [\#3949](https://github.com/danielgindi/Charts/issues/3949) +- xcode10.2,swift5,chart version 3.3.0 [\#3948](https://github.com/danielgindi/Charts/issues/3948) +- Compiling for iOS 8.1, but module 'Charts' has a minimum deployment target of iOS 8.4 [\#3946](https://github.com/danielgindi/Charts/issues/3946) +- X轴的Label显示间隔会随着值的增加而变大, 能控制显示间隔吗? [\#3943](https://github.com/danielgindi/Charts/issues/3943) +- the first point of LineChartView is not displayed, and so is demo [\#3938](https://github.com/danielgindi/Charts/issues/3938) +- why????? [\#3934](https://github.com/danielgindi/Charts/issues/3934) +- The “Swift Language Version” \(SWIFT\_VERSION\) build setting must be set to a supported value for targets which use Swift. Supported values are: 4.0, 4.2, 5.0. This setting can be set in the build settings editor. [\#3932](https://github.com/danielgindi/Charts/issues/3932) +- error: SWIFT\_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. \(in target 'Charts'\) [\#3929](https://github.com/danielgindi/Charts/issues/3929) +- 最新版更新后的问题 [\#3927](https://github.com/danielgindi/Charts/issues/3927) +- How can i get CenterEntry in the View when i setted the MaxVisibleRange? [\#3925](https://github.com/danielgindi/Charts/issues/3925) +- EXC\_BAD\_ACCESS error on PieChart [\#3923](https://github.com/danielgindi/Charts/issues/3923) +- The first dot doesn't show up when I use lineChart [\#3915](https://github.com/danielgindi/Charts/issues/3915) +- Swift 5 Support w/ Cocoapods [\#3913](https://github.com/danielgindi/Charts/issues/3913) +- HOW to create pie chart like below image . https://user-images.githubusercontent.com/20434573/54804603-1d31fa80-4c9a-11e9-9960-00cf7c7d117d.png [\#3908](https://github.com/danielgindi/Charts/issues/3908) +- x Axis grid line origin is wrong ! maybe a bug, anxious!!! [\#3904](https://github.com/danielgindi/Charts/issues/3904) +- why not use CAShapeLayer? [\#3903](https://github.com/danielgindi/Charts/issues/3903) +- Chart legend [\#3896](https://github.com/danielgindi/Charts/issues/3896) +- Wrong values from pixelForValues [\#3895](https://github.com/danielgindi/Charts/issues/3895) +- Cannot set labels for RadarChart [\#3893](https://github.com/danielgindi/Charts/issues/3893) +- I can't migrate the swift files\(combined chart\) in objective c project. Could please share the objective c code fully. Thanks in advance. [\#3890](https://github.com/danielgindi/Charts/issues/3890) +- Draw circle only on last value [\#3887](https://github.com/danielgindi/Charts/issues/3887) +- Mismatch left axis maximum and minimum values [\#3886](https://github.com/danielgindi/Charts/issues/3886) +- How to animate? start poisiton is not from zero. [\#3885](https://github.com/danielgindi/Charts/issues/3885) +- I want to change line chart fill colours [\#3882](https://github.com/danielgindi/Charts/issues/3882) +- Circle view is not showing for first point of line chart [\#3881](https://github.com/danielgindi/Charts/issues/3881) +- support ECG demo? [\#3880](https://github.com/danielgindi/Charts/issues/3880) +- How to remove the values given outside the circle in piechart [\#3878](https://github.com/danielgindi/Charts/issues/3878) +- file was built for x86\_64 which is not the architecture being linked \(arm64\):error: linker command failed with exit code 1 \(use -v to see invocation\) [\#3877](https://github.com/danielgindi/Charts/issues/3877) +- Clipping first and last circle from line chart IOS. [\#3873](https://github.com/danielgindi/Charts/issues/3873) +- Smoothly moving a slowly changing linechart [\#3859](https://github.com/danielgindi/Charts/issues/3859) +- Monthly X-Axis labels \(corresponding values\) in my LineChart are not at the right position [\#3858](https://github.com/danielgindi/Charts/issues/3858) +- CandleChart do not render the first candle in CombineChartView [\#3857](https://github.com/danielgindi/Charts/issues/3857) +- Have 2 or more tresholds for one graph [\#3856](https://github.com/danielgindi/Charts/issues/3856) +- Unexpected crash on 3.2.2 [\#3855](https://github.com/danielgindi/Charts/issues/3855) +- How to change the display of legends? [\#3853](https://github.com/danielgindi/Charts/issues/3853) +- I want to call a method after the chart has been dragged and stopped. How can I detect it and the chart has stopped? [\#3851](https://github.com/danielgindi/Charts/issues/3851) +- HorizontalBarChartView bar negative values position [\#3850](https://github.com/danielgindi/Charts/issues/3850) +- charts 有数据创建图表后,点击按钮将数据置为空则崩溃 [\#3849](https://github.com/danielgindi/Charts/issues/3849) +- No circle is drawn on a line chart when there is only one data. \(version 3.2.2 only\) [\#3848](https://github.com/danielgindi/Charts/issues/3848) +- slice color [\#3844](https://github.com/danielgindi/Charts/issues/3844) +- BarChartView showing consecutive values in xAxis [\#3843](https://github.com/danielgindi/Charts/issues/3843) +- How to hide those icons? [\#3842](https://github.com/danielgindi/Charts/issues/3842) +- Swift 4.2: 'values' is deprecated Warnings [\#3840](https://github.com/danielgindi/Charts/issues/3840) +- Y-axis values draw error [\#3837](https://github.com/danielgindi/Charts/issues/3837) +- Horizontal Bar Chart Value Labels Cut Off [\#3836](https://github.com/danielgindi/Charts/issues/3836) +- The right Y axis displays incorrect values that does not fit the chart [\#3835](https://github.com/danielgindi/Charts/issues/3835) +- How to align labels on left side and put values inside bars on HorizontalBarChartView? \[HELP WANTED\] [\#3833](https://github.com/danielgindi/Charts/issues/3833) +- How to show the tooltip like value when clicked on candle of candleStick chart [\#3832](https://github.com/danielgindi/Charts/issues/3832) +- In line chart, can I make all labels in Chart area even with changing yOffset? [\#3829](https://github.com/danielgindi/Charts/issues/3829) +- Multiline value labels on BarChart. [\#3826](https://github.com/danielgindi/Charts/issues/3826) +- how can I spin the selected slice of piechart to top. [\#3825](https://github.com/danielgindi/Charts/issues/3825) +- Update Cocoapods [\#3773](https://github.com/danielgindi/Charts/issues/3773) +- Select circles on line chart [\#3307](https://github.com/danielgindi/Charts/issues/3307) + +**Merged pull requests:** + +- Fix horizontal bar chart not drawing values and add unit tests [\#3906](https://github.com/danielgindi/Charts/pull/3906) ([liuxuan30](https://github.com/liuxuan30)) +- fix \#3860. maxHeight didn't count the last label [\#3900](https://github.com/danielgindi/Charts/pull/3900) ([liuxuan30](https://github.com/liuxuan30)) +- Migrating to built-in algorithms [\#3892](https://github.com/danielgindi/Charts/pull/3892) ([jjatie](https://github.com/jjatie)) +- Use a stock iterator instead of a custom one. [\#3891](https://github.com/danielgindi/Charts/pull/3891) ([phughes](https://github.com/phughes)) +- Removed unnecessary \#if statements and unified style to align with Xc… [\#3884](https://github.com/danielgindi/Charts/pull/3884) ([jjatie](https://github.com/jjatie)) +- Velocity samples calculation [\#3883](https://github.com/danielgindi/Charts/pull/3883) ([jjatie](https://github.com/jjatie)) +- Minor updates for Swift 5 [\#3874](https://github.com/danielgindi/Charts/pull/3874) ([jjatie](https://github.com/jjatie)) +- Replace AnyObject with Any [\#3864](https://github.com/danielgindi/Charts/pull/3864) ([jjatie](https://github.com/jjatie)) +- Data as any [\#3863](https://github.com/danielgindi/Charts/pull/3863) ([jjatie](https://github.com/jjatie)) +- Reassess convenience initializers [\#3862](https://github.com/danielgindi/Charts/pull/3862) ([jjatie](https://github.com/jjatie)) +- HorizontalBarChar value label offset calculation [\#3854](https://github.com/danielgindi/Charts/pull/3854) ([chaaarly](https://github.com/chaaarly)) +- Create `chartViewDidEndAnimate` in ChartViewDelegate [\#3852](https://github.com/danielgindi/Charts/pull/3852) ([Lcsmarcal](https://github.com/Lcsmarcal)) +- Align `ChartLimit.LabelPosition` naming with `UIRectCorner` [\#3846](https://github.com/danielgindi/Charts/pull/3846) ([jjatie](https://github.com/jjatie)) + +## [v3.2.2](https://github.com/danielgindi/Charts/tree/v3.2.2) (2019-02-13) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.2.1...v3.2.2) + +**Implemented enhancements:** + +- 【PieChart】Please support multiple colors for valueline. [\#3480](https://github.com/danielgindi/Charts/issues/3480) + +**Fixed bugs:** + +- CombinedChartView's candleData don't display in v3.2.0 [\#3662](https://github.com/danielgindi/Charts/issues/3662) +- Incorrect behavior for AxisBase.axisMaxLabels [\#3656](https://github.com/danielgindi/Charts/issues/3656) +- Horizontal Bar Chart legend issue [\#3301](https://github.com/danielgindi/Charts/issues/3301) + +**Closed issues:** + +- barchartview draw value in bottom of chart [\#3827](https://github.com/danielgindi/Charts/issues/3827) +- Regarding to label of axis, I think it displays .03 instead of 0.03 [\#3824](https://github.com/danielgindi/Charts/issues/3824) +- Bar Chart Not Showing Colours Correctly [\#3823](https://github.com/danielgindi/Charts/issues/3823) +- Pie Chart on click show value on label. Does anyone know how to do it? [\#3822](https://github.com/danielgindi/Charts/issues/3822) +- chartTranslated in a Pie Chart is not called [\#3821](https://github.com/danielgindi/Charts/issues/3821) +- Issue creating a simple line chart [\#3820](https://github.com/danielgindi/Charts/issues/3820) +- How to save image of scrollable graph [\#3819](https://github.com/danielgindi/Charts/issues/3819) +- Candle charts not showing candles on swift 4.2 [\#3818](https://github.com/danielgindi/Charts/issues/3818) +- How to get a value from line graph if there is more than one lines [\#3817](https://github.com/danielgindi/Charts/issues/3817) +- Multiple colors for the same line [\#3816](https://github.com/danielgindi/Charts/issues/3816) +- Memory Leaks in subclass of LineChartView [\#3813](https://github.com/danielgindi/Charts/issues/3813) +- Distortion When Animating Height of Auto Layout `LineChartView` [\#3811](https://github.com/danielgindi/Charts/issues/3811) +- How to show break in line chart for more than one graph? [\#3810](https://github.com/danielgindi/Charts/issues/3810) +- PIE Chart Colors not properly set [\#3809](https://github.com/danielgindi/Charts/issues/3809) +- A Question to contribution [\#3808](https://github.com/danielgindi/Charts/issues/3808) +- When y value is equal ,HorizontalBarChartView only show integer [\#3806](https://github.com/danielgindi/Charts/issues/3806) +- Highlight per drag not working! [\#3805](https://github.com/danielgindi/Charts/issues/3805) +- chartTranslated is called when no translation happened [\#3803](https://github.com/danielgindi/Charts/issues/3803) +- Xcode10 real machine operation error! [\#3802](https://github.com/danielgindi/Charts/issues/3802) +- Bar Width issue after reset the data [\#3801](https://github.com/danielgindi/Charts/issues/3801) +- Performance issue: drawCircles\(context: CGContext\) in LineChart [\#3798](https://github.com/danielgindi/Charts/issues/3798) +- LineChartView Y-Aixs label'number inaccuracy [\#3794](https://github.com/danielgindi/Charts/issues/3794) +- charts在特定范围内的参考坐标精度问题 [\#3793](https://github.com/danielgindi/Charts/issues/3793) +- Change chart legend show order [\#3791](https://github.com/danielgindi/Charts/issues/3791) +- hello,I don't want to display the pie chart by zero percent. How can I do this [\#3790](https://github.com/danielgindi/Charts/issues/3790) +- how to center legend text of LineChartView? [\#3789](https://github.com/danielgindi/Charts/issues/3789) +- How to Plot only for the available x axis and leave the rest of the x axis blank? [\#3788](https://github.com/danielgindi/Charts/issues/3788) +- Custom chart marker [\#3787](https://github.com/danielgindi/Charts/issues/3787) +- How to shift xAxis values to right? [\#3785](https://github.com/danielgindi/Charts/issues/3785) +- How to disable Accessibility support? [\#3782](https://github.com/danielgindi/Charts/issues/3782) +- Feature: Add option to draw limit lines on top of data [\#3781](https://github.com/danielgindi/Charts/issues/3781) +- Legend spacing issue with LineChart and colors\[\] [\#3780](https://github.com/danielgindi/Charts/issues/3780) +- How to change value line length for each value in pieChartView [\#3776](https://github.com/danielgindi/Charts/issues/3776) +- Crash on the function isDrawingValuesAllowed [\#3772](https://github.com/danielgindi/Charts/issues/3772) +- How to let y axis line show same space when axisMinimum = 0? [\#3771](https://github.com/danielgindi/Charts/issues/3771) +- Xcode 10.1 pod install Charts open project error!!! [\#3769](https://github.com/danielgindi/Charts/issues/3769) +- Is it possible to make some gaps on a same line plot? [\#3765](https://github.com/danielgindi/Charts/issues/3765) +- Is it possible to draw custom shape on chart and handle touch on it [\#3763](https://github.com/danielgindi/Charts/issues/3763) +- Start slice automatically seleted in pie chart [\#3762](https://github.com/danielgindi/Charts/issues/3762) +- How to change color when press down on pie chart? [\#3761](https://github.com/danielgindi/Charts/issues/3761) +- notifyDataSetChanged\(\) crash when datapoint is highlighted in LineChartView [\#3759](https://github.com/danielgindi/Charts/issues/3759) +- BarChartView display half in first bar when change from group bar to bar only [\#3757](https://github.com/danielgindi/Charts/issues/3757) +- Description of Bar doesn't appear in Horizontal BarChartView [\#3756](https://github.com/danielgindi/Charts/issues/3756) +- Chart spacing between xAxis Labels [\#3755](https://github.com/danielgindi/Charts/issues/3755) +- Granularity makes my app crash because require index from zero [\#3753](https://github.com/danielgindi/Charts/issues/3753) +- this counter will make your app being crash in particular case [\#3752](https://github.com/danielgindi/Charts/issues/3752) +- Bar Chart Drawing is wrong without setting axisminimum [\#3751](https://github.com/danielgindi/Charts/issues/3751) +- Help needed - in changing the position for Piechart in SWIFT [\#3749](https://github.com/danielgindi/Charts/issues/3749) +- When using CombinedChartView, CandleChartData cannot be displayed [\#3748](https://github.com/danielgindi/Charts/issues/3748) +- Linear chart line with different thickness of direction [\#3746](https://github.com/danielgindi/Charts/issues/3746) +- I want to try a lot of line charts corresponding to the X axis is different, how can I achieve it. [\#3745](https://github.com/danielgindi/Charts/issues/3745) +- 折线图-具体时间的数据绘制进图表问题 [\#3743](https://github.com/danielgindi/Charts/issues/3743) +- Changing lineCap doesn't work when mode is not linear/stepped [\#3739](https://github.com/danielgindi/Charts/issues/3739) +- Reverse Pie Chart animation [\#3738](https://github.com/danielgindi/Charts/issues/3738) +- How to create y-axis for empty label ? [\#3735](https://github.com/danielgindi/Charts/issues/3735) +- Different colors for above and below 0 when filling a Line Chart [\#3733](https://github.com/danielgindi/Charts/issues/3733) +- How to adding multiple lines to Line Chart for swift 4.0? [\#3732](https://github.com/danielgindi/Charts/issues/3732) +- How to format y-values drawn on bar? [\#3731](https://github.com/danielgindi/Charts/issues/3731) +- how to moveViewToX and not calling setNeedsDisplay\(\) [\#3730](https://github.com/danielgindi/Charts/issues/3730) +- When using CombinedChartView, CandleChartData cannot be displayed [\#3729](https://github.com/danielgindi/Charts/issues/3729) +- Need Help. How to show labels in xAxis for GroupedBarChart? [\#3728](https://github.com/danielgindi/Charts/issues/3728) +- Force axis granularity [\#3727](https://github.com/danielgindi/Charts/issues/3727) +- Y decimal values error [\#3725](https://github.com/danielgindi/Charts/issues/3725) +- if i have 840entrys how can i set the xaxis what i want .e.g i only want to show the 0 and 840 [\#3723](https://github.com/danielgindi/Charts/issues/3723) +- if i have 840entrys how can i set the xaxis what i want .e.g i only want to show the 0 and 840 [\#3722](https://github.com/danielgindi/Charts/issues/3722) +- Align both right and left axis in the same line [\#3720](https://github.com/danielgindi/Charts/issues/3720) +- The `open var noDataTextAlignment: NSTextAlignment = .left` is missing the `@objc` so it's not exposed in Objective C. [\#3719](https://github.com/danielgindi/Charts/issues/3719) +- How to hide bottom colors & label section in Bar Chat [\#3718](https://github.com/danielgindi/Charts/issues/3718) +- Draw Line chart for non linear X-axis [\#3717](https://github.com/danielgindi/Charts/issues/3717) +- Any way to adjust the candle bar width? [\#3716](https://github.com/danielgindi/Charts/issues/3716) +- xAxis grid line in-between bar rather than center of bar [\#3713](https://github.com/danielgindi/Charts/issues/3713) +- Bubble Chart is not rendering [\#3711](https://github.com/danielgindi/Charts/issues/3711) +- Bubble Chart is not rendering [\#3710](https://github.com/danielgindi/Charts/issues/3710) +- \[Feature request\] Continue line chart beyond x-axis limits [\#3708](https://github.com/danielgindi/Charts/issues/3708) +- Use of unresolved identifier 'UIAccessibility' & Type 'UIAccessibilityTraits' \(aka 'UInt64'\) has no member 'header' [\#3707](https://github.com/danielgindi/Charts/issues/3707) +- How to draw a line chart in sections? [\#3706](https://github.com/danielgindi/Charts/issues/3706) +- \[Feature / Help\] Resize Chart based on data visibility [\#3705](https://github.com/danielgindi/Charts/issues/3705) +- \[Request / Help\] Resize Chart based on hidden / shown lines [\#3704](https://github.com/danielgindi/Charts/issues/3704) +- listening for click events in pieChartView [\#3703](https://github.com/danielgindi/Charts/issues/3703) +- How to add Strings on Left Axis in iOS-charts? [\#3702](https://github.com/danielgindi/Charts/issues/3702) +- \[Charts.BarChartDataSet setDrawIconsEnabled:\]: unrecognized selector sent to instance [\#3700](https://github.com/danielgindi/Charts/issues/3700) +- How can I set xAxis to second line? [\#3698](https://github.com/danielgindi/Charts/issues/3698) +- Add to OC project and the api is so big, How to solve this problem [\#3697](https://github.com/danielgindi/Charts/issues/3697) +- How can I call func stringForValue\(\_ value: Double, axis: AxisBase?\) -\> String [\#3696](https://github.com/danielgindi/Charts/issues/3696) +- Line chart, slide left and right to see more data? How to set it up [\#3693](https://github.com/danielgindi/Charts/issues/3693) +- Value for SWIFT\_VERSION cannot be empty. \(in target 'Charts'\) [\#3692](https://github.com/danielgindi/Charts/issues/3692) +- how to make a combine chart \(line chart + bar chart\) with leftAxis taking the top half area of the combined graph and right axis taking the bottom half [\#3690](https://github.com/danielgindi/Charts/issues/3690) +- is there any library for Gantt chart in ios swift ? please suggest me a solution..... [\#3688](https://github.com/danielgindi/Charts/issues/3688) +- Integrated to xcode10 crash [\#3687](https://github.com/danielgindi/Charts/issues/3687) +- XCode 10 app crash. [\#3686](https://github.com/danielgindi/Charts/issues/3686) +- Getting Errors in Xcode 9.2 [\#3684](https://github.com/danielgindi/Charts/issues/3684) +- How to show double vale with string in y-axis [\#3683](https://github.com/danielgindi/Charts/issues/3683) +- When I have a lot of data, how can I slide to the far right by default? [\#3682](https://github.com/danielgindi/Charts/issues/3682) +- Pie Chart - Slices are not drawn and values are overlapping [\#3679](https://github.com/danielgindi/Charts/issues/3679) +- setVisibleXRangeMaximum is behaving unexpectedly [\#3678](https://github.com/danielgindi/Charts/issues/3678) +- Getting issues after pod update. [\#3677](https://github.com/danielgindi/Charts/issues/3677) +- Pie chart and gradient [\#3674](https://github.com/danielgindi/Charts/issues/3674) +- CandleStickChartRenderer drawDataSet method does not work with CombinedChartView [\#3673](https://github.com/danielgindi/Charts/issues/3673) +- How to Hide Text? [\#3672](https://github.com/danielgindi/Charts/issues/3672) +- Memory leaks were detected also in the demo project [\#3671](https://github.com/danielgindi/Charts/issues/3671) +- Can't add two pie charts in a uiviewcontroller at same time [\#3670](https://github.com/danielgindi/Charts/issues/3670) +- ChartData ValueTextColor can not achieve a variety of colors [\#3669](https://github.com/danielgindi/Charts/issues/3669) +- PieChartView settings color is Invalid [\#3668](https://github.com/danielgindi/Charts/issues/3668) +- DrawValuesEnabled variable unreachable \(Swift 4.2\) [\#3665](https://github.com/danielgindi/Charts/issues/3665) +- Failed to verify bitcode in Charts.framework [\#3663](https://github.com/danielgindi/Charts/issues/3663) +- \[3.2.0\] Excessive Memory leaks in Swift 4.2 related to LineChartView, not present in 3.1.1 w/Swift 4 [\#3649](https://github.com/danielgindi/Charts/issues/3649) +- BarChart - xAxis Labels disappear if not a min of 2 on the screen [\#2854](https://github.com/danielgindi/Charts/issues/2854) +- 柱状图一直横向拉伸, 持续差不多 15s 就崩溃了 [\#2642](https://github.com/danielgindi/Charts/issues/2642) +- Any one try to integrate with SpriteKit/SKScene ? [\#2129](https://github.com/danielgindi/Charts/issues/2129) + +**Merged pull requests:** + +- Add Collection conformances to ChartDataSet types [\#3815](https://github.com/danielgindi/Charts/pull/3815) ([jjatie](https://github.com/jjatie)) +- Fix condition that is checked before `chartTranslated` delegate method call [\#3804](https://github.com/danielgindi/Charts/pull/3804) ([anton-filimonov](https://github.com/anton-filimonov)) +- fix \#3719 [\#3778](https://github.com/danielgindi/Charts/pull/3778) ([liuxuan30](https://github.com/liuxuan30)) +- add chartScaled\(\) call after double tap in BarLineChartViewBase [\#3770](https://github.com/danielgindi/Charts/pull/3770) ([artemiusmk](https://github.com/artemiusmk)) +- Fixes sharp edges on the line chart [\#3764](https://github.com/danielgindi/Charts/pull/3764) ([stokatyan](https://github.com/stokatyan)) +- Fix applying lineCap value for line chart data sets \(Fixes \#3739\) [\#3740](https://github.com/danielgindi/Charts/pull/3740) ([anton-filimonov](https://github.com/anton-filimonov)) +- Update README.md [\#3737](https://github.com/danielgindi/Charts/pull/3737) ([justinlew](https://github.com/justinlew)) +- Fix legend offset bug for horizontal bar chart \(Fixes \#3301\) [\#3736](https://github.com/danielgindi/Charts/pull/3736) ([SvenMuc](https://github.com/SvenMuc)) +- Fix wrong assignment to axisMaxLabels property [\#3721](https://github.com/danielgindi/Charts/pull/3721) ([ggirotto](https://github.com/ggirotto)) +- Add missing properties to copy\(with:\) methods [\#3715](https://github.com/danielgindi/Charts/pull/3715) ([dstranz](https://github.com/dstranz)) +- Multiple colors for valueline \(Fixes \#3480\) [\#3709](https://github.com/danielgindi/Charts/pull/3709) ([AlexeiGitH](https://github.com/AlexeiGitH)) +- Fix memory leak after rendering [\#3680](https://github.com/danielgindi/Charts/pull/3680) ([YusukeOba](https://github.com/YusukeOba)) +- fix issue \#3662 [\#3664](https://github.com/danielgindi/Charts/pull/3664) ([Michael-Du](https://github.com/Michael-Du)) +- Make NSUIAccessibilityElement initializer public. [\#3654](https://github.com/danielgindi/Charts/pull/3654) ([417-72KI](https://github.com/417-72KI)) +- improvements in barRect height calculation [\#3650](https://github.com/danielgindi/Charts/pull/3650) ([potato04](https://github.com/potato04)) +- Update document to latest format [\#3621](https://github.com/danielgindi/Charts/pull/3621) ([kemchenj](https://github.com/kemchenj)) +- Feature - ChartView Pan Ended Delegate Call [\#3612](https://github.com/danielgindi/Charts/pull/3612) ([AntonTheDev](https://github.com/AntonTheDev)) + +## [v3.2.1](https://github.com/danielgindi/Charts/tree/v3.2.1) (2018-10-08) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.2.0...v3.2.1) + +**Closed issues:** + +- Getting error after updating XCode to 10 from 9.4 [\#3661](https://github.com/danielgindi/Charts/issues/3661) +- Bar Chart with horizondal scroll on clicking button. [\#3660](https://github.com/danielgindi/Charts/issues/3660) +- How to change the piechart' valueLineColor and valueTextColor color individually [\#3658](https://github.com/danielgindi/Charts/issues/3658) +- Update to Swift 4.2 [\#3655](https://github.com/danielgindi/Charts/issues/3655) +- I am trying to use charts. for ios app. I am using cocoa pod for dependency setup. After setup i am trying to build the code it throwing compile errors. [\#3653](https://github.com/danielgindi/Charts/issues/3653) +- Type 'RunLoop' has no member 'Mode' [\#3652](https://github.com/danielgindi/Charts/issues/3652) +- Module compiled with Swift 4.1.2 cannot be imported by the Swift 4.2 [\#3651](https://github.com/danielgindi/Charts/issues/3651) +- Type 'RunLoop' has no member 'Mode' [\#3648](https://github.com/danielgindi/Charts/issues/3648) +- As of todays update, I am running into this issue. 'common' renamed RunLoopMode.commonModes [\#3647](https://github.com/danielgindi/Charts/issues/3647) +- Change circleHoleColor for one point [\#3646](https://github.com/danielgindi/Charts/issues/3646) +- This API is not working with Swift 4.1.. even after taking V3.2 of Charts API also.. I fixed it myself :\( [\#3645](https://github.com/danielgindi/Charts/issues/3645) +- Help building Charts Demo [\#3643](https://github.com/danielgindi/Charts/issues/3643) +- Limit line label orientation [\#3641](https://github.com/danielgindi/Charts/issues/3641) +- Is it possible to zoom into a range of values? [\#3639](https://github.com/danielgindi/Charts/issues/3639) +- Not working with SDK-Swift 4.2 [\#3635](https://github.com/danielgindi/Charts/issues/3635) +- getting the error that let is implicitly final please change from open to public in Xcode10 GM Seed [\#3634](https://github.com/danielgindi/Charts/issues/3634) +- How to optimize when the amount of data is large [\#3633](https://github.com/danielgindi/Charts/issues/3633) +- Adding mathematical function plotting [\#3632](https://github.com/danielgindi/Charts/issues/3632) +- Color shadow inside piechart [\#3631](https://github.com/danielgindi/Charts/issues/3631) +- I can not set one label on y axis. [\#3630](https://github.com/danielgindi/Charts/issues/3630) +- where is the code for draw the xAxis and yAxis indicateLine [\#3628](https://github.com/danielgindi/Charts/issues/3628) +- Is it possible to add a vertical label for Y-Axis? Or anyone working on it? [\#3627](https://github.com/danielgindi/Charts/issues/3627) +- Adding dashed lines in between bars in bar graph [\#3626](https://github.com/danielgindi/Charts/issues/3626) +- Create Line chart and/or Bar chart from String Array [\#3625](https://github.com/danielgindi/Charts/issues/3625) +- Change data if button press [\#3624](https://github.com/danielgindi/Charts/issues/3624) +- Pie Chart and Legend [\#3622](https://github.com/danielgindi/Charts/issues/3622) +- Add labels to marker or create custom marker view [\#3620](https://github.com/danielgindi/Charts/issues/3620) +- is there any way we can change the values font size for ipad in the same code? [\#3618](https://github.com/danielgindi/Charts/issues/3618) +- Reg: Display Min and Max Point in a PopUp [\#3617](https://github.com/danielgindi/Charts/issues/3617) +- Charts ScaleX problem [\#3616](https://github.com/danielgindi/Charts/issues/3616) +- CombinedChartView - EXC\_BAD\_ACCESS with doubleTapToZoomEnabled [\#3614](https://github.com/danielgindi/Charts/issues/3614) +- BarChartView How to set the fixed width and spacing? [\#3609](https://github.com/danielgindi/Charts/issues/3609) +- How can I combine two lineCharts? [\#3607](https://github.com/danielgindi/Charts/issues/3607) +- 'Charts/Charts-Swift.h' file not found [\#3603](https://github.com/danielgindi/Charts/issues/3603) +- Combined Chart with Horizontal Bar chart and a Line chart [\#3600](https://github.com/danielgindi/Charts/issues/3600) +- Design customization [\#3597](https://github.com/danielgindi/Charts/issues/3597) +- Move pie chart to specific location in the view [\#3595](https://github.com/danielgindi/Charts/issues/3595) +- Adding text data points to axis [\#3592](https://github.com/danielgindi/Charts/issues/3592) +- Performance hit [\#3585](https://github.com/danielgindi/Charts/issues/3585) +- Multiple colours for setValueTextColor and xAxis label with NSAttributedString [\#3566](https://github.com/danielgindi/Charts/issues/3566) +- Can't set a fixed width for YAxis with outside style. [\#3565](https://github.com/danielgindi/Charts/issues/3565) +- Switch from Grouped Bar chart back to normal [\#3551](https://github.com/danielgindi/Charts/issues/3551) +- X or Y axis interval of the labels [\#3547](https://github.com/danielgindi/Charts/issues/3547) +- How can I plot all Axis Value? [\#3540](https://github.com/danielgindi/Charts/issues/3540) +- When the number of numeric numbers on the Y axis does not agree, the right of the multiple charts will not be aligned. [\#3347](https://github.com/danielgindi/Charts/issues/3347) + +## [v3.2.0](https://github.com/danielgindi/Charts/tree/v3.2.0) (2018-09-17) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.1.1...v3.2.0) + +**Fixed bugs:** + +- Remove noDataText [\#3396](https://github.com/danielgindi/Charts/issues/3396) + +**Closed issues:** + +- Xcode 10 beta & Swift 4.2 support [\#3623](https://github.com/danielgindi/Charts/issues/3623) +- CombinedChartView not population correctly [\#3619](https://github.com/danielgindi/Charts/issues/3619) +- How to remove Cubic Line chart value? [\#3615](https://github.com/danielgindi/Charts/issues/3615) +- How to set Y axis to display different colors of label [\#3611](https://github.com/danielgindi/Charts/issues/3611) +- Installation with carthage error!!! [\#3610](https://github.com/danielgindi/Charts/issues/3610) +- xcodebuild archive error [\#3606](https://github.com/danielgindi/Charts/issues/3606) +- swift library added successfully, but can't reach any of the interfaces [\#3605](https://github.com/danielgindi/Charts/issues/3605) +- BarChart draw sum of values above bar [\#3604](https://github.com/danielgindi/Charts/issues/3604) +- iOS 12 [\#3601](https://github.com/danielgindi/Charts/issues/3601) +- v [\#3598](https://github.com/danielgindi/Charts/issues/3598) +- Compilation errors with Swift 4.1 [\#3596](https://github.com/danielgindi/Charts/issues/3596) +- Bar Chart highlights last clicked bar [\#3594](https://github.com/danielgindi/Charts/issues/3594) +- Remove hightlight, when swipe ends. Or just catch event when swipe ends [\#3588](https://github.com/danielgindi/Charts/issues/3588) +- bars did not displayed as expect [\#3586](https://github.com/danielgindi/Charts/issues/3586) +- what about the property 'gradientPositions' on branch 4.0.0, and how to use [\#3584](https://github.com/danielgindi/Charts/issues/3584) +- Creating markers for Radar Charts [\#3582](https://github.com/danielgindi/Charts/issues/3582) +- How to display value on touch? [\#3581](https://github.com/danielgindi/Charts/issues/3581) +- LineChart \(gradient fill\) is not working in Swift 4 [\#3580](https://github.com/danielgindi/Charts/issues/3580) +- Is there a way to use Line Chart with custom xAxis? [\#3579](https://github.com/danielgindi/Charts/issues/3579) +- Xaxis MutliLine and Value Multiline [\#3575](https://github.com/danielgindi/Charts/issues/3575) +- REACT NATIVE CHART ISSUE [\#3574](https://github.com/danielgindi/Charts/issues/3574) +- Data labels not shown when mutable array of entries used. [\#3573](https://github.com/danielgindi/Charts/issues/3573) +- Grid background color extends beyond data sets [\#3572](https://github.com/danielgindi/Charts/issues/3572) +- real time plot [\#3571](https://github.com/danielgindi/Charts/issues/3571) +- Add shadow effect for pie chart [\#3570](https://github.com/danielgindi/Charts/issues/3570) +- The target “Charts” contains source code developed with Swift 2.x. Xcode 9 does not support building or migrating Swift 2.x targets. [\#3569](https://github.com/danielgindi/Charts/issues/3569) +- What is the best way to show around 100'000 values? [\#3568](https://github.com/danielgindi/Charts/issues/3568) +- CandleChart In CombinedChartView not work [\#3567](https://github.com/danielgindi/Charts/issues/3567) +- the x axis label is not in the right position when I used groupBarChart [\#3564](https://github.com/danielgindi/Charts/issues/3564) +- Bar Charts with only top outline like line chart [\#3562](https://github.com/danielgindi/Charts/issues/3562) +- How to fill the area between two lines on LineChart [\#3561](https://github.com/danielgindi/Charts/issues/3561) +- How to support rose chart? [\#3560](https://github.com/danielgindi/Charts/issues/3560) +- How I can get unselected entry [\#3559](https://github.com/danielgindi/Charts/issues/3559) +- Custom x-axis labels won't show without backing data [\#3557](https://github.com/danielgindi/Charts/issues/3557) +- Cannot build Charts project using Carthage [\#3555](https://github.com/danielgindi/Charts/issues/3555) +- Customizing bar chart [\#3554](https://github.com/danielgindi/Charts/issues/3554) +- Line Chart: Can't display icons unless data labels are also displayed [\#3553](https://github.com/danielgindi/Charts/issues/3553) +- How to enable highlight to some datapoints only when chart is zoomed [\#3552](https://github.com/danielgindi/Charts/issues/3552) +- 关于OC项目引入Charts IPA体积过大的问题 [\#3549](https://github.com/danielgindi/Charts/issues/3549) +- X or Y unit?How to do? [\#3545](https://github.com/danielgindi/Charts/issues/3545) +- Why my chart have line on zero on yAXis [\#3544](https://github.com/danielgindi/Charts/issues/3544) +- Value of type 'EnumeratedSequence\<\[CGPoint\]\>' has no member 'compactMap' [\#3543](https://github.com/danielgindi/Charts/issues/3543) +- Show Axis unit in last label [\#3542](https://github.com/danielgindi/Charts/issues/3542) +- In iOS-Charts how to hide one of Y axis grid lines. [\#3541](https://github.com/danielgindi/Charts/issues/3541) +- Highlighting on a scrollable line graph [\#3539](https://github.com/danielgindi/Charts/issues/3539) +- disable gradient fill Linechart [\#3537](https://github.com/danielgindi/Charts/issues/3537) +- Undefined symbols for architecture - import issues [\#3536](https://github.com/danielgindi/Charts/issues/3536) +- Horizontal Bar Chart Bar Collapsing [\#3535](https://github.com/danielgindi/Charts/issues/3535) +- How to remove space between line chart and top legend [\#3534](https://github.com/danielgindi/Charts/issues/3534) +- Scrolling of bar chart is not working initially. [\#3532](https://github.com/danielgindi/Charts/issues/3532) +- Remove DataSet label [\#3531](https://github.com/danielgindi/Charts/issues/3531) +- HorizontalBarChartView 横向柱状图Y轴问题 [\#3530](https://github.com/danielgindi/Charts/issues/3530) +- 怎么设置柱状图的宽度不变 [\#3529](https://github.com/danielgindi/Charts/issues/3529) +- Is it possible to show the values of a horizontal stacked bar chart centered? [\#3526](https://github.com/danielgindi/Charts/issues/3526) +- how to change LineChartDataSet without strange redraw issues? [\#3525](https://github.com/danielgindi/Charts/issues/3525) +- I want to add image in left side of line graph when we scroll the image is also scroll [\#3521](https://github.com/danielgindi/Charts/issues/3521) +- Fixed label at axis origin [\#3519](https://github.com/danielgindi/Charts/issues/3519) +- Horizontal bar charts labels max out too early [\#3517](https://github.com/danielgindi/Charts/issues/3517) +- multiple PieCharts in on Screen [\#3516](https://github.com/danielgindi/Charts/issues/3516) +- First and Last Bars are not displaying full bars in CombinedChartView [\#3515](https://github.com/danielgindi/Charts/issues/3515) +- Line chart does not render correctly [\#3514](https://github.com/danielgindi/Charts/issues/3514) +- Line chart with LineChartView the line is lower than the minimum values [\#3513](https://github.com/danielgindi/Charts/issues/3513) +- Bar chart is plotting for empty value and Line chart is not appeared in CombinedChartView [\#3511](https://github.com/danielgindi/Charts/issues/3511) +- The shape of graph becomes smaller and smaller in RadarChartGraph [\#3510](https://github.com/danielgindi/Charts/issues/3510) +- not able to display x-axis labels like \(jun, july\) in line chart [\#3509](https://github.com/danielgindi/Charts/issues/3509) +- Move points on LineChart with Pan Gesture [\#3508](https://github.com/danielgindi/Charts/issues/3508) +- 32 bit Device not handling high x-values [\#3507](https://github.com/danielgindi/Charts/issues/3507) +- How do you override the getFormattedValue\(\) method when it doesn't exist? [\#3506](https://github.com/danielgindi/Charts/issues/3506) +- drawBarShadowEnabled is crashing in swift 4 [\#3505](https://github.com/danielgindi/Charts/issues/3505) +- x,y axis and guidelines hide on grah reload [\#3503](https://github.com/danielgindi/Charts/issues/3503) +- 显示float问题 [\#3501](https://github.com/danielgindi/Charts/issues/3501) +- App Crash in release mode not in debug mode [\#3499](https://github.com/danielgindi/Charts/issues/3499) +- Arrow on axis end [\#3498](https://github.com/danielgindi/Charts/issues/3498) +- LineChartView setup "set.mode = LineChartModeCubicBezier",The wave-peak trough of the smooth chart shows no value and deviates from these points [\#3497](https://github.com/danielgindi/Charts/issues/3497) +- Errors when trying to compile a project using Charts [\#3496](https://github.com/danielgindi/Charts/issues/3496) +- Need Help I want to Make 2 lines of X axis label and x axis label background color [\#3495](https://github.com/danielgindi/Charts/issues/3495) +- Getting current xAxis value [\#3494](https://github.com/danielgindi/Charts/issues/3494) +- where to catch the function about marker disappears or appears with dataEntrance [\#3493](https://github.com/danielgindi/Charts/issues/3493) +- Get chart image without rendering chart [\#3492](https://github.com/danielgindi/Charts/issues/3492) +- Cant able to set XAxis Range for custom DateTime formatter [\#3491](https://github.com/danielgindi/Charts/issues/3491) +- How to set the accuracy of data, such as two decimal places, e.g 2.32, 3.21. [\#3490](https://github.com/danielgindi/Charts/issues/3490) +- FFT graphs? [\#3489](https://github.com/danielgindi/Charts/issues/3489) +- Is there a better way to easily add highest and lowest value in candlestick chart [\#3488](https://github.com/danielgindi/Charts/issues/3488) +- Remove piechart center white area [\#3487](https://github.com/danielgindi/Charts/issues/3487) +- xAxis label is croped when using custom valueFormatter [\#3485](https://github.com/danielgindi/Charts/issues/3485) +- Change location of left axis labels [\#3484](https://github.com/danielgindi/Charts/issues/3484) +- How to plot multiple yValue but display selected xValue in xAxis Label? [\#3483](https://github.com/danielgindi/Charts/issues/3483) +- Bubble Charts Choose not jump into the method “chartValueSelected...”? [\#3482](https://github.com/danielgindi/Charts/issues/3482) +- How to plot time value format on x-axis in real time graph [\#3481](https://github.com/danielgindi/Charts/issues/3481) +- How to remove Right side vertical line and values in LineChartView [\#3478](https://github.com/danielgindi/Charts/issues/3478) +- Bar Chart View acting weird \(zooming\) [\#3477](https://github.com/danielgindi/Charts/issues/3477) +- Is their anyway to show legend in rows and columns format? [\#3476](https://github.com/danielgindi/Charts/issues/3476) +- Duplicate Y-axis values while pitching the graph moving up [\#3475](https://github.com/danielgindi/Charts/issues/3475) +- getValuesByTouchPoint / UIView coords to graph coords [\#3474](https://github.com/danielgindi/Charts/issues/3474) +- Pie Chart label not show if its value 0 [\#3473](https://github.com/danielgindi/Charts/issues/3473) +- Build failed [\#3472](https://github.com/danielgindi/Charts/issues/3472) +- What will be the version of pod if I am running on swift 2.3 ? [\#3471](https://github.com/danielgindi/Charts/issues/3471) +- Using SPM results in a "dependency graph is unresolvable" error. [\#3470](https://github.com/danielgindi/Charts/issues/3470) +- Demo is not compiling [\#3469](https://github.com/danielgindi/Charts/issues/3469) +- Question [\#3466](https://github.com/danielgindi/Charts/issues/3466) +- need help [\#3464](https://github.com/danielgindi/Charts/issues/3464) +- bar Chart legend always show one label [\#3462](https://github.com/danielgindi/Charts/issues/3462) +- Monitor rotation angle [\#3461](https://github.com/danielgindi/Charts/issues/3461) +- when clicking chartView,How to prompt multiple markerView [\#3460](https://github.com/danielgindi/Charts/issues/3460) +- The chart will draw incorrectly if LineChart leftAxis.axisMinimum does not start at zero [\#3458](https://github.com/danielgindi/Charts/issues/3458) +- Grouped bar chart plotting wrong !! [\#3457](https://github.com/danielgindi/Charts/issues/3457) +- 为什么我设置X轴不显示 [\#3456](https://github.com/danielgindi/Charts/issues/3456) +- how to set string values on x axis in bar chart? please help [\#3455](https://github.com/danielgindi/Charts/issues/3455) +- Left axis and right axis not same zero line [\#3454](https://github.com/danielgindi/Charts/issues/3454) +- How can make HorizontalBarChart dont start at zero? [\#3453](https://github.com/danielgindi/Charts/issues/3453) +- Can't customise X-axis grid line labels in time value line chart. [\#3452](https://github.com/danielgindi/Charts/issues/3452) +- xAxis gridlines are missing [\#3451](https://github.com/danielgindi/Charts/issues/3451) +- How to add attributed string in Xaxis labels [\#3450](https://github.com/danielgindi/Charts/issues/3450) +- 点击0这一列,所有的柱状图都高亮,可以吗 [\#3449](https://github.com/danielgindi/Charts/issues/3449) +- how to use 'LineChartView' to draw a line between nonzero values? [\#3448](https://github.com/danielgindi/Charts/issues/3448) +- The maximum value of the histogram is not shown. [\#3447](https://github.com/danielgindi/Charts/issues/3447) +- The Y-axis numerical display problem. [\#3446](https://github.com/danielgindi/Charts/issues/3446) +- Is it possible to show x-Axis gridlines when there's only one ChartDataEntry? [\#3444](https://github.com/danielgindi/Charts/issues/3444) +- Chart callback events [\#3443](https://github.com/danielgindi/Charts/issues/3443) +- Help needed with Grouped Horizontal Bar Chart [\#3442](https://github.com/danielgindi/Charts/issues/3442) +- Candlestick doesn't work when x does not start at 0 [\#3441](https://github.com/danielgindi/Charts/issues/3441) +- Is there a callback method? [\#3439](https://github.com/danielgindi/Charts/issues/3439) +- oc项目集成Charts,上架打包失败,提示ERROR ITMS-90171: "Invalid Bundle Structure - The binary file '时间炼.app/Frameworks/Charts.framework/Charts' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure."。新手,求解答!Thanks [\#3438](https://github.com/danielgindi/Charts/issues/3438) +- Axis label alignment with labelRotationAngle [\#3437](https://github.com/danielgindi/Charts/issues/3437) +- Show grid with axis deactivated [\#3436](https://github.com/danielgindi/Charts/issues/3436) +- Error: cannot use instance member '\_viewPortHandler' within property initializer; property initializers run before 'self' is available [\#3434](https://github.com/danielgindi/Charts/issues/3434) +- remove labels [\#3433](https://github.com/danielgindi/Charts/issues/3433) +- How to set the number of lines for the label of xAxis of HorizontalBarChartView ? [\#3431](https://github.com/danielgindi/Charts/issues/3431) +- xAxis labelText too long, it can not draw complete. [\#3430](https://github.com/danielgindi/Charts/issues/3430) +- Weird crash [\#3427](https://github.com/danielgindi/Charts/issues/3427) +- Why does the default value of the Y label take the decimal point? [\#3426](https://github.com/danielgindi/Charts/issues/3426) +- Why won't the viewport move to the last X value of my line chart? [\#3425](https://github.com/danielgindi/Charts/issues/3425) +- How to disable highlight for some specific values [\#3423](https://github.com/danielgindi/Charts/issues/3423) +- IAxisValueFormatter Error: Index out of range [\#3422](https://github.com/danielgindi/Charts/issues/3422) +- can we animate SelectionShift when selecting a segment of pie chart? [\#3420](https://github.com/danielgindi/Charts/issues/3420) +- Y-axis minimum scale deviation problem. [\#3419](https://github.com/danielgindi/Charts/issues/3419) +- How do you set the scale of the Y-axis? [\#3418](https://github.com/danielgindi/Charts/issues/3418) +- BarLineChartViewBase doubleTapGestureRecognized [\#3417](https://github.com/danielgindi/Charts/issues/3417) +- Remove the box from the pie chart. [\#3416](https://github.com/danielgindi/Charts/issues/3416) +- Unable to set transparent color or clear color to the graphs background. [\#3414](https://github.com/danielgindi/Charts/issues/3414) +- BarChartView has no TouchUpInside event, only TouchDown event. [\#3411](https://github.com/danielgindi/Charts/issues/3411) +- YAxis,the integer bit is missing, showing.0 or.00 [\#3410](https://github.com/danielgindi/Charts/issues/3410) +- touchesEnded can't be called in chart view? [\#3409](https://github.com/danielgindi/Charts/issues/3409) +- Is it possible to show date values in the Stacked BarChart? [\#3408](https://github.com/danielgindi/Charts/issues/3408) +- Passing STRING values to X-Axis currently the SetDataCount is accepting only INT and Double data types [\#3407](https://github.com/danielgindi/Charts/issues/3407) +- compactMap build error [\#3405](https://github.com/danielgindi/Charts/issues/3405) +- Marker in CombinedChart is displayed incorrectly. [\#3404](https://github.com/danielgindi/Charts/issues/3404) +- I need to customize the column chart [\#3401](https://github.com/danielgindi/Charts/issues/3401) +- YAxis show the value .0 or .00 [\#3400](https://github.com/danielgindi/Charts/issues/3400) +- How to do BarChart \(grouped DataSets\)\(OC\)? [\#3399](https://github.com/danielgindi/Charts/issues/3399) +- Can't build success with xcode toolchains swift 4.0.3 release [\#3398](https://github.com/danielgindi/Charts/issues/3398) +- pod not install in xcode 9.3 version [\#3397](https://github.com/danielgindi/Charts/issues/3397) +- Lag during scroll [\#3395](https://github.com/danielgindi/Charts/issues/3395) +- Hide percents on PieChartDiagram when it's so small [\#3394](https://github.com/danielgindi/Charts/issues/3394) +- Value of type 'BarChartDataEntries' has no member 'unit' [\#3393](https://github.com/danielgindi/Charts/issues/3393) +- BarChart 1st bar offset [\#3392](https://github.com/danielgindi/Charts/issues/3392) +- Open up Access Modifiers? [\#3391](https://github.com/danielgindi/Charts/issues/3391) +- ld: warning: directory not found for option '-F/Users/hansenpen/Library/Developer/Xcode/DerivedData/CS\_PROJECT\_-\_ALPHA-hglwyidqwcstjvejzxikmednefgv/Build/Products/Debug-iphonesimulator/Charts' ld: framework not found Charts clang: error: linker command failed with exit code 1 \(use -v to see invocation\) [\#3390](https://github.com/danielgindi/Charts/issues/3390) +- How to install charts Framework using Xcode 9.1 [\#3388](https://github.com/danielgindi/Charts/issues/3388) +- Unable to compile swift 3.2 code from xcode 9.3. I am using 3.1.1 version of charts. [\#3387](https://github.com/danielgindi/Charts/issues/3387) +- why there is flexible space between the BarChatView and the xAxis ? sometimes the space are nil but sometimes the space exist . when it happens the xAxis will draw rect inside the PilaView . it doesn't connected with the XAxisLabelPosition attribute . i cann't figured it out [\#3386](https://github.com/danielgindi/Charts/issues/3386) +- Error building project [\#3385](https://github.com/danielgindi/Charts/issues/3385) +- missing property in latest LineChartView [\#3383](https://github.com/danielgindi/Charts/issues/3383) +- minOffset not working [\#3382](https://github.com/danielgindi/Charts/issues/3382) +- Display Real time data like pulseRate. [\#3381](https://github.com/danielgindi/Charts/issues/3381) +- Grouped bar chart shows up as stacked bar chart after migration. [\#3380](https://github.com/danielgindi/Charts/issues/3380) +- Candle stick chart cds.setBarSpace\(\) not working [\#3379](https://github.com/danielgindi/Charts/issues/3379) +- Line chart fill color goes above/below zeroline [\#3377](https://github.com/danielgindi/Charts/issues/3377) +- Charts Pod not working with Xcode 9.3 \(Swift 4.1\) [\#3376](https://github.com/danielgindi/Charts/issues/3376) +- Can any one know how to draw this charts [\#3375](https://github.com/danielgindi/Charts/issues/3375) +- Compile error on newest ChartsDemo-iOS project [\#3373](https://github.com/danielgindi/Charts/issues/3373) +- ChartIndexAxisValueFormatter Not working in line charts [\#3371](https://github.com/danielgindi/Charts/issues/3371) +- Line Graph xValue [\#3367](https://github.com/danielgindi/Charts/issues/3367) +- xAxis labels are not aligned with grouped bar, when data is more [\#3364](https://github.com/danielgindi/Charts/issues/3364) +- Select the data point programmatically and the highLight is NAN [\#3363](https://github.com/danielgindi/Charts/issues/3363) +- Layout issue with chart legend [\#3359](https://github.com/danielgindi/Charts/issues/3359) +- Is it possible to draw the line on top of a custom XAxisRenderer? [\#3348](https://github.com/danielgindi/Charts/issues/3348) +- How to set x-axis labels with selected round with color. [\#3345](https://github.com/danielgindi/Charts/issues/3345) +- How to hide the grid background on some bar [\#3342](https://github.com/danielgindi/Charts/issues/3342) +- Space between axis line and axis label [\#3336](https://github.com/danielgindi/Charts/issues/3336) +- Can't manage to align plots with x axis values [\#3332](https://github.com/danielgindi/Charts/issues/3332) +- Show the last x axis label on bar chart [\#3324](https://github.com/danielgindi/Charts/issues/3324) +- HorizontalBarChartView display partial data [\#3320](https://github.com/danielgindi/Charts/issues/3320) +- 如何在滑动代理中获取当前中心位置所对应的数据源的索引 [\#3318](https://github.com/danielgindi/Charts/issues/3318) +- Visible max and min Y Values [\#2600](https://github.com/danielgindi/Charts/issues/2600) +- Invert xAxis label [\#2504](https://github.com/danielgindi/Charts/issues/2504) +- @junito1209 please explain what are you doing on Charts wiki page [\#2261](https://github.com/danielgindi/Charts/issues/2261) +- Crash Observed when AxisRenderer interval is becoming NaN [\#2168](https://github.com/danielgindi/Charts/issues/2168) +- Problem selecting bubbles on the same xIndex [\#2060](https://github.com/danielgindi/Charts/issues/2060) + +**Merged pull requests:** + +- update barRect.size.height calculation [\#3587](https://github.com/danielgindi/Charts/pull/3587) ([potato04](https://github.com/potato04)) +- Support inlune bubble viz selection [\#3548](https://github.com/danielgindi/Charts/pull/3548) ([chuynadamas](https://github.com/chuynadamas)) +- fix the error title for demo [\#3528](https://github.com/danielgindi/Charts/pull/3528) ([yangasahi](https://github.com/yangasahi)) +- Changes for Swift 4.2, Xcode 10 and iOS 12 [\#3522](https://github.com/danielgindi/Charts/pull/3522) ([jlcanale](https://github.com/jlcanale)) +- Accessibility Support for \(most\) Chart types [\#3520](https://github.com/danielgindi/Charts/pull/3520) ([mathewa6](https://github.com/mathewa6)) +- Changed comment that referenced getFormattedValue\(\) method in IValueFormatter [\#3518](https://github.com/danielgindi/Charts/pull/3518) ([JCMcLovin](https://github.com/JCMcLovin)) +- Fix broken demo link in readme [\#3440](https://github.com/danielgindi/Charts/pull/3440) ([robert-cronin](https://github.com/robert-cronin)) +- Added clamping function for `Comparable` [\#3435](https://github.com/danielgindi/Charts/pull/3435) ([jjatie](https://github.com/jjatie)) +- update candle chart view options in demo project [\#3424](https://github.com/danielgindi/Charts/pull/3424) ([cuong1112035](https://github.com/cuong1112035)) +- Add Objective-c compatible for turning off drag in X and Y Axis separately [\#3421](https://github.com/danielgindi/Charts/pull/3421) ([lennonhe](https://github.com/lennonhe)) +- Add more render options for y axis labels [\#3406](https://github.com/danielgindi/Charts/pull/3406) ([alexrepty](https://github.com/alexrepty)) ## [v3.1.1](https://github.com/danielgindi/Charts/tree/v3.1.1) (2018-04-02) -[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.1.0...v3.1.1) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/3.1.1...v3.1.1) + +## [3.1.1](https://github.com/danielgindi/Charts/tree/3.1.1) (2018-04-02) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/3.1.0...3.1.1) **Fixed bugs:** @@ -47,7 +920,6 @@ - Enhancement: Linked x-axis or stacked y-axis. [\#1022](https://github.com/danielgindi/Charts/issues/1022) - Scale or zoom to particular axis or point in Combined chart view [\#993](https://github.com/danielgindi/Charts/issues/993) - Max Value Y - Axis = 1 , How to set Y-Axis increment Y- Value ? [\#989](https://github.com/danielgindi/Charts/issues/989) -- Stacked bar chart valueColors [\#945](https://github.com/danielgindi/Charts/issues/945) - Drawing value for the WholeStack only [\#926](https://github.com/danielgindi/Charts/issues/926) - Pie chart Y values overlap [\#779](https://github.com/danielgindi/Charts/issues/779) - Swift Package Manager [\#753](https://github.com/danielgindi/Charts/issues/753) @@ -62,7 +934,12 @@ - Update ILineRadarChartDataSet.swift [\#3366](https://github.com/danielgindi/Charts/pull/3366) ([Ewg777](https://github.com/Ewg777)) - Add option to disable clipping data to contentRect [\#3360](https://github.com/danielgindi/Charts/pull/3360) ([wtmoose](https://github.com/wtmoose)) +## [3.1.0](https://github.com/danielgindi/Charts/tree/3.1.0) (2018-03-22) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.1.0...3.1.0) + ## [v3.1.0](https://github.com/danielgindi/Charts/tree/v3.1.0) (2018-03-22) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v3.0.5...v3.1.0) **Fixed bugs:** @@ -217,20 +1094,19 @@ - Fixed a duplicated assignment compared with obj-c code. [\#3179](https://github.com/danielgindi/Charts/pull/3179) ([canapio](https://github.com/canapio)) - Fixed X-Axis Labels Not Showing \(\#3154\) [\#3174](https://github.com/danielgindi/Charts/pull/3174) ([leedsalex](https://github.com/leedsalex)) - fix programatical unhighlighting for BarCharView [\#3159](https://github.com/danielgindi/Charts/pull/3159) ([jekahy](https://github.com/jekahy)) -- Removed optionality from valueFormatter where appropriate [\#3106](https://github.com/danielgindi/Charts/pull/3106) ([jjatie](https://github.com/jjatie)) -- Moved the default value formatter [\#3088](https://github.com/danielgindi/Charts/pull/3088) ([jjatie](https://github.com/jjatie)) -- Utils Cleanup [\#3054](https://github.com/danielgindi/Charts/pull/3054) ([jjatie](https://github.com/jjatie)) -- weak -\> unowned [\#3039](https://github.com/danielgindi/Charts/pull/3039) ([jjatie](https://github.com/jjatie)) - Fix BalloonMarker's text position calculation, consider insets [\#3035](https://github.com/danielgindi/Charts/pull/3035) ([yangcaimu](https://github.com/yangcaimu)) -- Chartdata collection refactor [\#3024](https://github.com/danielgindi/Charts/pull/3024) ([jjatie](https://github.com/jjatie)) -- Chartdata collection conformance [\#3023](https://github.com/danielgindi/Charts/pull/3023) ([jjatie](https://github.com/jjatie)) - Give the users customizable axis label limits \(Fixes \#2085\) [\#2894](https://github.com/danielgindi/Charts/pull/2894) ([igzrobertoestrada](https://github.com/igzrobertoestrada)) - For \#2840. add dataIndex parameter in `highlightValue\(\)` calls [\#2852](https://github.com/danielgindi/Charts/pull/2852) ([liuxuan30](https://github.com/liuxuan30)) - fix \#2356 crash if floor\(10.0 \* intervalMagnitude\) is 0.0 [\#2377](https://github.com/danielgindi/Charts/pull/2377) ([liuxuan30](https://github.com/liuxuan30)) - Fixes the distance issue between the legend and the horizontal bar chart \(Fixes \#2138\) [\#2214](https://github.com/danielgindi/Charts/pull/2214) ([SvenMuc](https://github.com/SvenMuc)) ## [v3.0.5](https://github.com/danielgindi/Charts/tree/v3.0.5) (2018-01-08) -[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.0.4...v3.0.5) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/3.0.5...v3.0.5) + +## [3.0.5](https://github.com/danielgindi/Charts/tree/3.0.5) (2018-01-08) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.0.4...3.0.5) **Implemented enhancements:** @@ -449,35 +1325,28 @@ **Merged pull requests:** -- Syncing 4.0.0 with master [\#3160](https://github.com/danielgindi/Charts/pull/3160) ([jjatie](https://github.com/jjatie)) - Subclassing of LegendRenderer didn't take any effect [\#3149](https://github.com/danielgindi/Charts/pull/3149) ([l-lemesev](https://github.com/l-lemesev)) - Update ViewPortHandler.swift [\#3143](https://github.com/danielgindi/Charts/pull/3143) ([ParkinWu](https://github.com/ParkinWu)) -- Renderer protocols [\#3136](https://github.com/danielgindi/Charts/pull/3136) ([jjatie](https://github.com/jjatie)) - Update 4.0.0 with master [\#3135](https://github.com/danielgindi/Charts/pull/3135) ([jjatie](https://github.com/jjatie)) - Fix axis label disappear when zooming in deep enough [\#3132](https://github.com/danielgindi/Charts/pull/3132) ([liuxuan30](https://github.com/liuxuan30)) -- Updating 4.0.0 with latest changes in master [\#3130](https://github.com/danielgindi/Charts/pull/3130) ([jjatie](https://github.com/jjatie)) - add option to build demo projects unit tests on iOS [\#3121](https://github.com/danielgindi/Charts/pull/3121) ([liuxuan30](https://github.com/liuxuan30)) - Makes ChartsDemo compiling again [\#3117](https://github.com/danielgindi/Charts/pull/3117) ([valeriyvan](https://github.com/valeriyvan)) - Fixed using wrong axis \(Issue \#2257\) [\#3114](https://github.com/danielgindi/Charts/pull/3114) ([defranke](https://github.com/defranke)) - for \#3061 fix animation crash [\#3098](https://github.com/danielgindi/Charts/pull/3098) ([liuxuan30](https://github.com/liuxuan30)) - Refactored ChartUtils method into CGPoint extension [\#3087](https://github.com/danielgindi/Charts/pull/3087) ([jjatie](https://github.com/jjatie)) -- Moved ChartUtils drawing methods into CGContext extension [\#3086](https://github.com/danielgindi/Charts/pull/3086) ([jjatie](https://github.com/jjatie)) - for \#2745. chart should be weak. [\#3078](https://github.com/danielgindi/Charts/pull/3078) ([liuxuan30](https://github.com/liuxuan30)) - Fix a bug may cause infinite loop. [\#3073](https://github.com/danielgindi/Charts/pull/3073) ([JyHu](https://github.com/JyHu)) -- Chartviewbase redundant ivar [\#3045](https://github.com/danielgindi/Charts/pull/3045) ([jjatie](https://github.com/jjatie)) - Removed `isKind\(of:\)` [\#3044](https://github.com/danielgindi/Charts/pull/3044) ([jjatie](https://github.com/jjatie)) - Removed redundant ivars in BarLineChartViewBase [\#3043](https://github.com/danielgindi/Charts/pull/3043) ([jjatie](https://github.com/jjatie)) - fileprivate -\> private [\#3042](https://github.com/danielgindi/Charts/pull/3042) ([jjatie](https://github.com/jjatie)) - Viewportjob minor cleanup [\#3041](https://github.com/danielgindi/Charts/pull/3041) ([jjatie](https://github.com/jjatie)) - Removed @objc from internal properties [\#3038](https://github.com/danielgindi/Charts/pull/3038) ([jjatie](https://github.com/jjatie)) - Minor changes to BubbleChartRenderer logic [\#3010](https://github.com/danielgindi/Charts/pull/3010) ([jjatie](https://github.com/jjatie)) -- BarChartRenderer Logic cleanup [\#3008](https://github.com/danielgindi/Charts/pull/3008) ([jjatie](https://github.com/jjatie)) - Minor changes to Animator [\#3005](https://github.com/danielgindi/Charts/pull/3005) ([jjatie](https://github.com/jjatie)) - Minor cleanup to Highlighter types [\#3003](https://github.com/danielgindi/Charts/pull/3003) ([jjatie](https://github.com/jjatie)) - Resubmit of \#2730 [\#3002](https://github.com/danielgindi/Charts/pull/3002) ([jjatie](https://github.com/jjatie)) - The backing var is not necessary. [\#3000](https://github.com/danielgindi/Charts/pull/3000) ([jjatie](https://github.com/jjatie)) - Minor refactoring of Formatter logic [\#2998](https://github.com/danielgindi/Charts/pull/2998) ([jjatie](https://github.com/jjatie)) -- Remove java interface convention [\#2997](https://github.com/danielgindi/Charts/pull/2997) ([jjatie](https://github.com/jjatie)) - Removed methods and properties deprecated in 1.0 [\#2996](https://github.com/danielgindi/Charts/pull/2996) ([jjatie](https://github.com/jjatie)) - Replaced `ChartUtils` methods with `CGSize` extensions [\#2995](https://github.com/danielgindi/Charts/pull/2995) ([jjatie](https://github.com/jjatie)) - Replaced relevant `ChartUtils` methods with `Double` extensions [\#2994](https://github.com/danielgindi/Charts/pull/2994) ([jjatie](https://github.com/jjatie)) @@ -504,7 +1373,12 @@ - Compatibility with swift playgrounds [\#2335](https://github.com/danielgindi/Charts/pull/2335) ([macteo](https://github.com/macteo)) ## [v3.0.4](https://github.com/danielgindi/Charts/tree/v3.0.4) (2017-09-21) -[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.0.3...v3.0.4) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/3.0.4...v3.0.4) + +## [3.0.4](https://github.com/danielgindi/Charts/tree/3.0.4) (2017-09-21) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/3.0.3...3.0.4) **Closed issues:** @@ -534,8 +1408,13 @@ - Changes for Swift 4 [\#2507](https://github.com/danielgindi/Charts/pull/2507) ([liuxuan30](https://github.com/liuxuan30)) +## [3.0.3](https://github.com/danielgindi/Charts/tree/3.0.3) (2017-09-08) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.0.3...3.0.3) + ## [v3.0.3](https://github.com/danielgindi/Charts/tree/v3.0.3) (2017-09-08) -[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.0.2...v3.0.3) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/3.0.2...v3.0.3) **Implemented enhancements:** @@ -793,7 +1672,6 @@ - show tooltip on click [\#2438](https://github.com/danielgindi/Charts/issues/2438) - Got Error : “\_OBJC\_CLASS\_$\_\_TtC10ChartsDemo12XYMarkerView” in Charts [\#2437](https://github.com/danielgindi/Charts/issues/2437) - Change color label over circle [\#2436](https://github.com/danielgindi/Charts/issues/2436) -- Gradient transparency for line chart [\#2435](https://github.com/danielgindi/Charts/issues/2435) - How to set labels based on max and min value of the plot? [\#2434](https://github.com/danielgindi/Charts/issues/2434) - How to make the pie chart selected by default? [\#2431](https://github.com/danielgindi/Charts/issues/2431) - Animate 3 dataSets one by one [\#2428](https://github.com/danielgindi/Charts/issues/2428) @@ -868,7 +1746,6 @@ - How to add a fade background for data values [\#2320](https://github.com/danielgindi/Charts/issues/2320) - Limit Line after update to 3.0.2 no longer shown [\#2319](https://github.com/danielgindi/Charts/issues/2319) - Charts v3.0.2 does not build using Carthage [\#2317](https://github.com/danielgindi/Charts/issues/2317) -- Too much Warnings on the comments [\#2316](https://github.com/danielgindi/Charts/issues/2316) - spaceMin and spaceMax are not percentages [\#2314](https://github.com/danielgindi/Charts/issues/2314) - API for increasing or decreasing condition for CandleStick Chart [\#2311](https://github.com/danielgindi/Charts/issues/2311) - Create Tag to include 'fix for Xcode 8.3' [\#2309](https://github.com/danielgindi/Charts/issues/2309) @@ -904,7 +1781,12 @@ - fix \#2222 move default backgroundColor to initialize\(\) [\#2228](https://github.com/danielgindi/Charts/pull/2228) ([liuxuan30](https://github.com/liuxuan30)) - Fix \#1879. Similar cut in half issue in scatter chart like others [\#1891](https://github.com/danielgindi/Charts/pull/1891) ([liuxuan30](https://github.com/liuxuan30)) +## [3.0.2](https://github.com/danielgindi/Charts/tree/3.0.2) (2017-04-02) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v3.0.2...3.0.2) + ## [v3.0.2](https://github.com/danielgindi/Charts/tree/v3.0.2) (2017-04-02) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v3.0.1...v3.0.2) **Implemented enhancements:** @@ -1234,9 +2116,7 @@ - Updated to use Realm version 2.4.3 [\#2199](https://github.com/danielgindi/Charts/pull/2199) ([kimdv](https://github.com/kimdv)) - Fixed the inconsistency of AxisMax and AxisMin [\#2177](https://github.com/danielgindi/Charts/pull/2177) ([aelam](https://github.com/aelam)) - Fixes index out of range crash. [\#2167](https://github.com/danielgindi/Charts/pull/2167) ([kzaher](https://github.com/kzaher)) -- remove deprecation warnings in XCode 8.3 [\#2162](https://github.com/danielgindi/Charts/pull/2162) ([LeviDahl](https://github.com/LeviDahl)) - 'backgroundColor' is inaccessible due to 'internal' protection level … [\#2156](https://github.com/danielgindi/Charts/pull/2156) ([thierryH91200](https://github.com/thierryH91200)) -- Fixes Xcode 8.3 beta build issue [\#2116](https://github.com/danielgindi/Charts/pull/2116) ([davidarve](https://github.com/davidarve)) - Adds NSPhotoLibraryUsageDescription to plist of ChartsDemo [\#2101](https://github.com/danielgindi/Charts/pull/2101) ([valeriyvan](https://github.com/valeriyvan)) - Fix demo and test targets not running/testing [\#2084](https://github.com/danielgindi/Charts/pull/2084) ([petester42](https://github.com/petester42)) - fix a typo, as orientation is horizontal by default [\#2078](https://github.com/danielgindi/Charts/pull/2078) ([liuxuan30](https://github.com/liuxuan30)) @@ -1247,7 +2127,12 @@ - All Charts Icons Support Swift3 \[Dub \#629, \#624, \#1261\] [\#1793](https://github.com/danielgindi/Charts/pull/1793) ([abjurato](https://github.com/abjurato)) ## [v3.0.1](https://github.com/danielgindi/Charts/tree/v3.0.1) (2016-11-20) -[Full Changelog](https://github.com/danielgindi/Charts/compare/v2.3.1...v3.0.1) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/3.0.1...v3.0.1) + +## [3.0.1](https://github.com/danielgindi/Charts/tree/3.0.1) (2016-11-20) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/2.3.1...3.0.1) **Closed issues:** @@ -1315,9 +2200,16 @@ **Merged pull requests:** +- Updated Width Constraints - Fixes \#1770 [\#1771](https://github.com/danielgindi/Charts/pull/1771) ([SumoSimo](https://github.com/SumoSimo)) - Added a check against NaN [\#1733](https://github.com/danielgindi/Charts/pull/1733) ([Selficide](https://github.com/Selficide)) +- update cocoapods [\#1684](https://github.com/danielgindi/Charts/pull/1684) ([petester42](https://github.com/petester42)) + +## [2.3.1](https://github.com/danielgindi/Charts/tree/2.3.1) (2016-11-04) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v2.3.1...2.3.1) ## [v2.3.1](https://github.com/danielgindi/Charts/tree/v2.3.1) (2016-11-04) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v3.0.0...v2.3.1) **Fixed bugs:** @@ -1420,11 +2312,14 @@ **Merged pull requests:** - Fix png image using JPEG type when being saved on macOS [\#1783](https://github.com/danielgindi/Charts/pull/1783) ([petester42](https://github.com/petester42)) -- Updated Width Constraints - Fixes \#1770 [\#1771](https://github.com/danielgindi/Charts/pull/1771) ([SumoSimo](https://github.com/SumoSimo)) -- update cocoapods [\#1684](https://github.com/danielgindi/Charts/pull/1684) ([petester42](https://github.com/petester42)) ## [v3.0.0](https://github.com/danielgindi/Charts/tree/v3.0.0) (2016-10-19) -[Full Changelog](https://github.com/danielgindi/Charts/compare/v2.3.0...v3.0.0) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/3.0.0...v3.0.0) + +## [3.0.0](https://github.com/danielgindi/Charts/tree/3.0.0) (2016-10-19) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/2.3.0...3.0.0) **Implemented enhancements:** @@ -1619,8 +2514,24 @@ - Fixes messaging issues with charts needing carthage [\#1525](https://github.com/danielgindi/Charts/pull/1525) ([petester42](https://github.com/petester42)) - Attempt to make CI more stable [\#1510](https://github.com/danielgindi/Charts/pull/1510) ([petester42](https://github.com/petester42)) - Fix Cocoapods setup being broken [\#1509](https://github.com/danielgindi/Charts/pull/1509) ([petester42](https://github.com/petester42)) +- bump Charts version to 3.0.0 [\#1505](https://github.com/danielgindi/Charts/pull/1505) ([liuxuan30](https://github.com/liuxuan30)) +- porting \#1452 into master [\#1486](https://github.com/danielgindi/Charts/pull/1486) ([liuxuan30](https://github.com/liuxuan30)) +- Don't override project settings in targets [\#1484](https://github.com/danielgindi/Charts/pull/1484) ([petester42](https://github.com/petester42)) +- change Charts baseSDK to iOS 10 [\#1467](https://github.com/danielgindi/Charts/pull/1467) ([liuxuan30](https://github.com/liuxuan30)) +- migrate more ChartsDemo project setting to swift 3.0 [\#1466](https://github.com/danielgindi/Charts/pull/1466) ([liuxuan30](https://github.com/liuxuan30)) +- Update project structure for simplicity and fixing carthage [\#1422](https://github.com/danielgindi/Charts/pull/1422) ([petester42](https://github.com/petester42)) +- When only one of scaleXEnabled or scaleYEnabled is effective [\#1319](https://github.com/danielgindi/Charts/pull/1319) ([essoecc](https://github.com/essoecc)) +- V3 [\#1318](https://github.com/danielgindi/Charts/pull/1318) ([vishaldeshai](https://github.com/vishaldeshai)) +- fix Realm pod spec typo [\#1271](https://github.com/danielgindi/Charts/pull/1271) ([liuxuan30](https://github.com/liuxuan30)) +- improve comment to warn users how to use setVisibleRange APIs [\#1245](https://github.com/danielgindi/Charts/pull/1245) ([liuxuan30](https://github.com/liuxuan30)) +- for \#1208, seems drawBarShadowEnabled should be false by default [\#1226](https://github.com/danielgindi/Charts/pull/1226) ([liuxuan30](https://github.com/liuxuan30)) + +## [2.3.0](https://github.com/danielgindi/Charts/tree/2.3.0) (2016-09-21) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/v2.3.0...2.3.0) ## [v2.3.0](https://github.com/danielgindi/Charts/tree/v2.3.0) (2016-09-21) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.2.5...v2.3.0) **Implemented enhancements:** @@ -1938,44 +2849,12 @@ **Merged pull requests:** -- bump Charts version to 3.0.0 [\#1505](https://github.com/danielgindi/Charts/pull/1505) ([liuxuan30](https://github.com/liuxuan30)) -- porting \#1452 into master [\#1486](https://github.com/danielgindi/Charts/pull/1486) ([liuxuan30](https://github.com/liuxuan30)) -- Don't override project settings in targets [\#1484](https://github.com/danielgindi/Charts/pull/1484) ([petester42](https://github.com/petester42)) -- change Charts baseSDK to iOS 10 [\#1467](https://github.com/danielgindi/Charts/pull/1467) ([liuxuan30](https://github.com/liuxuan30)) -- migrate more ChartsDemo project setting to swift 3.0 [\#1466](https://github.com/danielgindi/Charts/pull/1466) ([liuxuan30](https://github.com/liuxuan30)) -- Fix bar layout bug, pie callback bug [\#1452](https://github.com/danielgindi/Charts/pull/1452) ([aoverholtzer](https://github.com/aoverholtzer)) -- Update project structure for simplicity and fixing carthage [\#1422](https://github.com/danielgindi/Charts/pull/1422) ([petester42](https://github.com/petester42)) -- \[swift 3.0 specific\]fix linear line chart additional line segments wile zooming in [\#1420](https://github.com/danielgindi/Charts/pull/1420) ([liuxuan30](https://github.com/liuxuan30)) -- fix attempt for Realm support [\#1414](https://github.com/danielgindi/Charts/pull/1414) ([liuxuan30](https://github.com/liuxuan30)) -- migrate Chart v3 code in master to swift 2.3 branch [\#1389](https://github.com/danielgindi/Charts/pull/1389) ([liuxuan30](https://github.com/liuxuan30)) -- fix bridgedObjCGetStringArray warning and more copyWithZone\(\_ zone: NSZone?\) -\> AnyObject errors [\#1379](https://github.com/danielgindi/Charts/pull/1379) ([liuxuan30](https://github.com/liuxuan30)) -- migrate `public` to `open` [\#1378](https://github.com/danielgindi/Charts/pull/1378) ([liuxuan30](https://github.com/liuxuan30)) -- Swift 3.0 beta 6 \(acegreen's branch, but with fixes for OS X\) [\#1353](https://github.com/danielgindi/Charts/pull/1353) ([pixelspark](https://github.com/pixelspark)) -- Conforms to Swift 3 - Xcode 8 beta 6 [\#1342](https://github.com/danielgindi/Charts/pull/1342) ([acegreen](https://github.com/acegreen)) -- When only one of scaleXEnabled or scaleYEnabled is effective [\#1319](https://github.com/danielgindi/Charts/pull/1319) ([essoecc](https://github.com/essoecc)) -- V3 [\#1318](https://github.com/danielgindi/Charts/pull/1318) ([vishaldeshai](https://github.com/vishaldeshai)) -- convert RunLoopMode to swift 3.0 syntax [\#1296](https://github.com/danielgindi/Charts/pull/1296) ([liuxuan30](https://github.com/liuxuan30)) -- fix more ChartsDemo complains [\#1295](https://github.com/danielgindi/Charts/pull/1295) ([liuxuan30](https://github.com/liuxuan30)) -- just fix all Xcode beta 4 complains, except for Realm bug [\#1294](https://github.com/danielgindi/Charts/pull/1294) ([liuxuan30](https://github.com/liuxuan30)) -- Swift 3.0 - Xcode 8 Beta 4 [\#1290](https://github.com/danielgindi/Charts/pull/1290) ([acegreen](https://github.com/acegreen)) - Few more changes needed to build with Swift 2.3 [\#1281](https://github.com/danielgindi/Charts/pull/1281) ([EpicDraws](https://github.com/EpicDraws)) -- fix Realm pod spec typo [\#1271](https://github.com/danielgindi/Charts/pull/1271) ([liuxuan30](https://github.com/liuxuan30)) -- support Realm 1.0.2 [\#1270](https://github.com/danielgindi/Charts/pull/1270) ([liuxuan30](https://github.com/liuxuan30)) -- upgrade Realm to 1.0.2 [\#1268](https://github.com/danielgindi/Charts/pull/1268) ([liuxuan30](https://github.com/liuxuan30)) -- Typo fix, our of range =\> out of range [\#1264](https://github.com/danielgindi/Charts/pull/1264) ([chris-gunawardena](https://github.com/chris-gunawardena)) -- Fix Swift 3 compilation errors for iOS [\#1258](https://github.com/danielgindi/Charts/pull/1258) ([puthirith](https://github.com/puthirith)) -- remove brew upgrade carthage for travis and update ios-snapshot-test-case to 2.1.2 [\#1249](https://github.com/danielgindi/Charts/pull/1249) ([liuxuan30](https://github.com/liuxuan30)) -- improve comment to warn users how to use setVisibleRange APIs [\#1245](https://github.com/danielgindi/Charts/pull/1245) ([liuxuan30](https://github.com/liuxuan30)) -- for \#1208, seems drawBarShadowEnabled should be false by default [\#1226](https://github.com/danielgindi/Charts/pull/1226) ([liuxuan30](https://github.com/liuxuan30)) -- BUGFIX: fix infinite recursive call of getXIndex\(\_:\) [\#1213](https://github.com/danielgindi/Charts/pull/1213) ([AntiMoron](https://github.com/AntiMoron)) -- Add missing imports for iOS 7 support [\#1205](https://github.com/danielgindi/Charts/pull/1205) ([VincentSit](https://github.com/VincentSit)) -- upgrade carthage, resolve test failure config [\#1203](https://github.com/danielgindi/Charts/pull/1203) ([liuxuan30](https://github.com/liuxuan30)) -- update iso-snapshot-test-case to master to have the fix for now [\#1202](https://github.com/danielgindi/Charts/pull/1202) ([liuxuan30](https://github.com/liuxuan30)) -- Migrate to Swift 3 \(now targeted at the Swift-3.0 branch\) [\#1171](https://github.com/danielgindi/Charts/pull/1171) ([pixelspark](https://github.com/pixelspark)) - Swift 2.3 [\#1163](https://github.com/danielgindi/Charts/pull/1163) ([liuxuan30](https://github.com/liuxuan30)) - Ignoring .DS\_Store files [\#1130](https://github.com/danielgindi/Charts/pull/1130) ([einsteinx2](https://github.com/einsteinx2)) ## [v2.2.5](https://github.com/danielgindi/Charts/tree/v2.2.5) (2016-05-30) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.2.4...v2.2.5) **Implemented enhancements:** @@ -2151,8 +3030,11 @@ - replace old github link to latest https://github.com/danielgindi/Charts [\#932](https://github.com/danielgindi/Charts/pull/932) ([liuxuan30](https://github.com/liuxuan30)) - Some minor nits [\#913](https://github.com/danielgindi/Charts/pull/913) ([ruurd](https://github.com/ruurd)) - add a switch whether to draw limit line's labels. default is true [\#887](https://github.com/danielgindi/Charts/pull/887) ([liuxuan30](https://github.com/liuxuan30)) +- Add new pie chart renderer with polyline indicate [\#869](https://github.com/danielgindi/Charts/pull/869) ([wjacker](https://github.com/wjacker)) +- Supporting borders on bars, Fixes issue \#822 [\#844](https://github.com/danielgindi/Charts/pull/844) ([AndreasIgelCC](https://github.com/AndreasIgelCC)) ## [v2.2.4](https://github.com/danielgindi/Charts/tree/v2.2.4) (2016-03-31) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.2.3...v2.2.4) **Fixed bugs:** @@ -2266,16 +3148,17 @@ **Merged pull requests:** - remove duplicated statement [\#894](https://github.com/danielgindi/Charts/pull/894) ([liuxuan30](https://github.com/liuxuan30)) -- Add new pie chart renderer with polyline indicate [\#869](https://github.com/danielgindi/Charts/pull/869) ([wjacker](https://github.com/wjacker)) - Add a Gitter chat badge to README.md [\#861](https://github.com/danielgindi/Charts/pull/861) ([gitter-badger](https://github.com/gitter-badger)) - Type bug in PieChartData [\#847](https://github.com/danielgindi/Charts/pull/847) ([leoMehlig](https://github.com/leoMehlig)) -- Supporting borders on bars, Fixes issue \#822 [\#844](https://github.com/danielgindi/Charts/pull/844) ([AndreasIgelCC](https://github.com/AndreasIgelCC)) - Update Readme [\#828](https://github.com/danielgindi/Charts/pull/828) ([PhilJay](https://github.com/PhilJay)) - Keep position on rotation [\#824](https://github.com/danielgindi/Charts/pull/824) ([leoMehlig](https://github.com/leoMehlig)) - Set code signing identity for iOS targets [\#811](https://github.com/danielgindi/Charts/pull/811) ([krbarnes](https://github.com/krbarnes)) - Add trailing newline for preprocessor statement [\#795](https://github.com/danielgindi/Charts/pull/795) ([boourns](https://github.com/boourns)) +- Feature \#539 Stepped line charts [\#778](https://github.com/danielgindi/Charts/pull/778) ([ezamagni](https://github.com/ezamagni)) +- add support for lineCap setting for line chart [\#658](https://github.com/danielgindi/Charts/pull/658) ([liuxuan30](https://github.com/liuxuan30)) ## [v2.2.3](https://github.com/danielgindi/Charts/tree/v2.2.3) (2016-02-29) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.2.2...v2.2.3) **Closed issues:** @@ -2306,7 +3189,6 @@ - Add "Toggle Data" option to demo charts. \(\#771 Support\) [\#781](https://github.com/danielgindi/Charts/pull/781) ([ospr](https://github.com/ospr)) - Add missing UIKit imports for iOS 7 [\#780](https://github.com/danielgindi/Charts/pull/780) ([asmarques](https://github.com/asmarques)) -- Feature \#539 Stepped line charts [\#778](https://github.com/danielgindi/Charts/pull/778) ([ezamagni](https://github.com/ezamagni)) - Make ChartViewBase's \_data optional. \(Fixes \#771\) [\#772](https://github.com/danielgindi/Charts/pull/772) ([ospr](https://github.com/ospr)) - Add Carthage compatibility badge [\#769](https://github.com/danielgindi/Charts/pull/769) ([Bogidon](https://github.com/Bogidon)) - update cocoapods url [\#755](https://github.com/danielgindi/Charts/pull/755) ([stevenedds](https://github.com/stevenedds)) @@ -2314,9 +3196,10 @@ - Correct the spelling of CocoaPods in README [\#751](https://github.com/danielgindi/Charts/pull/751) ([ReadmeCritic](https://github.com/ReadmeCritic)) - LineChartRenderer context bug [\#746](https://github.com/danielgindi/Charts/pull/746) ([leoMehlig](https://github.com/leoMehlig)) - Fix for cubic line chart fill when charts that don't start at x-index 0 \#711 [\#712](https://github.com/danielgindi/Charts/pull/712) ([gunterhager](https://github.com/gunterhager)) -- add support for lineCap setting for line chart [\#658](https://github.com/danielgindi/Charts/pull/658) ([liuxuan30](https://github.com/liuxuan30)) +- add an option to set line cap of axis grid line [\#660](https://github.com/danielgindi/Charts/pull/660) ([mconintet](https://github.com/mconintet)) ## [v2.2.2](https://github.com/danielgindi/Charts/tree/v2.2.2) (2016-02-09) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.2.1...v2.2.2) **Fixed bugs:** @@ -2335,9 +3218,11 @@ - Apache license and correct attribution in an iOS app? [\#678](https://github.com/danielgindi/Charts/issues/678) ## [v2.2.1](https://github.com/danielgindi/Charts/tree/v2.2.1) (2016-02-01) + [Full Changelog](https://github.com/danielgindi/Charts/compare/2.2.1...v2.2.1) ## [2.2.1](https://github.com/danielgindi/Charts/tree/2.2.1) (2016-02-01) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.2.0...2.2.1) **Fixed bugs:** @@ -2363,6 +3248,7 @@ - Update podspec for realm and 2.2.0 [\#725](https://github.com/danielgindi/Charts/pull/725) ([petester42](https://github.com/petester42)) ## [v2.2.0](https://github.com/danielgindi/Charts/tree/v2.2.0) (2016-01-26) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.1.6...v2.2.0) **Fixed bugs:** @@ -2494,25 +3380,23 @@ **Merged pull requests:** -- Activate require app extension safe API to be able to use library inside an app extension [\#708](https://github.com/danielgindi/Charts/pull/708) ([adonaire-sage](https://github.com/adonaire-sage)) +- Activate require app extension safe API to be able to use library inside an app extension [\#708](https://github.com/danielgindi/Charts/pull/708) ([ghost](https://github.com/ghost)) - fix code indent problem in ChartYAxisRendererRadarChart, ChartYAxisRenderer, BarChartDataSet, RadarChartView [\#675](https://github.com/danielgindi/Charts/pull/675) ([liuxuan30](https://github.com/liuxuan30)) -- add an option to set line cap of axis grid line [\#660](https://github.com/danielgindi/Charts/pull/660) ([mconintet](https://github.com/mconintet)) - Fix minor typo in BarLineChartViewBase [\#651](https://github.com/danielgindi/Charts/pull/651) ([patrickreynolds](https://github.com/patrickreynolds)) -- Stop axis labels duplicating. \#315 \[Pending squash and cleanup\] [\#648](https://github.com/danielgindi/Charts/pull/648) ([noais](https://github.com/noais)) - Adapted ChartLegendRenderer class to upcoming Swift 3 changes and improved code readability [\#643](https://github.com/danielgindi/Charts/pull/643) ([zntfdr](https://github.com/zntfdr)) - Remove verbose semicolons [\#639](https://github.com/danielgindi/Charts/pull/639) ([AntiMoron](https://github.com/AntiMoron)) - Adds CI [\#636](https://github.com/danielgindi/Charts/pull/636) ([petester42](https://github.com/petester42)) - Add missing images for bar chart tests [\#635](https://github.com/danielgindi/Charts/pull/635) ([petester42](https://github.com/petester42)) - Use nil coalescing in ChartDataSet's entryCount \(Fixes \#631\) [\#632](https://github.com/danielgindi/Charts/pull/632) ([aarondaub](https://github.com/aarondaub)) -- add highlight circle for radar chart [\#630](https://github.com/danielgindi/Charts/pull/630) ([liuxuan30](https://github.com/liuxuan30)) - Remove useless parentheses causing swift build error [\#614](https://github.com/danielgindi/Charts/pull/614) ([chanil1218](https://github.com/chanil1218)) - Add change log file. [\#605](https://github.com/danielgindi/Charts/pull/605) ([skywinder](https://github.com/skywinder)) - add initialize dataSets in setter [\#600](https://github.com/danielgindi/Charts/pull/600) ([liuxuan30](https://github.com/liuxuan30)) - Bar chart tests [\#580](https://github.com/danielgindi/Charts/pull/580) ([alvesjtiago](https://github.com/alvesjtiago)) -- Make getBarBounds callable from Objective-C code \(Fixes \#570\) [\#571](https://github.com/danielgindi/Charts/pull/571) ([adonaire-sage](https://github.com/adonaire-sage)) +- Make getBarBounds callable from Objective-C code \(Fixes \#570\) [\#571](https://github.com/danielgindi/Charts/pull/571) ([ghost](https://github.com/ghost)) - round the float value before we cast to Int [\#558](https://github.com/danielgindi/Charts/pull/558) ([liuxuan30](https://github.com/liuxuan30)) ## [v2.1.6](https://github.com/danielgindi/Charts/tree/v2.1.6) (2015-11-02) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.1.5...v2.1.6) **Implemented enhancements:** @@ -2564,6 +3448,7 @@ - Add ability to turn off antialias for grid lines [\#462](https://github.com/danielgindi/Charts/pull/462) ([vvit](https://github.com/vvit)) ## [v2.1.5](https://github.com/danielgindi/Charts/tree/v2.1.5) (2015-10-15) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.1.4a...v2.1.5) **Fixed bugs:** @@ -2614,6 +3499,7 @@ - Make the ChartXAxisRenderer more flexible: now possible to overwrite drawing the line or label of the ChartLimitLine [\#432](https://github.com/danielgindi/Charts/pull/432) ([pajai](https://github.com/pajai)) ## [v2.1.4a](https://github.com/danielgindi/Charts/tree/v2.1.4a) (2015-10-02) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.1.4...v2.1.4a) **Fixed bugs:** @@ -2672,6 +3558,7 @@ - be explicit on how to install 'Charts' when using CocoaPods since [\#376](https://github.com/danielgindi/Charts/pull/376) ([codeHatcher](https://github.com/codeHatcher)) ## [v2.1.4](https://github.com/danielgindi/Charts/tree/v2.1.4) (2015-09-21) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.1.3...v2.1.4) **Fixed bugs:** @@ -2758,13 +3645,14 @@ - Update BarLineChartViewBase.swift [\#359](https://github.com/danielgindi/Charts/pull/359) ([Ewg777](https://github.com/Ewg777)) - combined chart - seems we should use same chartXMin and chartXMax even there is no bubble data [\#324](https://github.com/danielgindi/Charts/pull/324) ([liuxuan30](https://github.com/liuxuan30)) - fix pie chart clipping [\#313](https://github.com/danielgindi/Charts/pull/313) ([petester42](https://github.com/petester42)) -- Changed Release signing configuration to "iOS Developer" to improve Carthage compatibility [\#297](https://github.com/danielgindi/Charts/pull/297) ([JaviSoto](https://github.com/JaviSoto)) -- Fixes xcode beta 5 compile errors [\#291](https://github.com/danielgindi/Charts/pull/291) ([petester42](https://github.com/petester42)) - bump podspec to 2.1.3 [\#290](https://github.com/danielgindi/Charts/pull/290) ([petester42](https://github.com/petester42)) - Minor refactor for BarLineChartViewBase [\#268](https://github.com/danielgindi/Charts/pull/268) ([liuxuan30](https://github.com/liuxuan30)) - Enhanced label positioning at limit lines \(enum ChartLimitLabelPosition\) [\#243](https://github.com/danielgindi/Charts/pull/243) ([SvenMuc](https://github.com/SvenMuc)) +- fix radar chart negative value rendering bug if startAtZeroEnabled is false for issue \#166 [\#207](https://github.com/danielgindi/Charts/pull/207) ([liuxuan30](https://github.com/liuxuan30)) +- Performance Enhancements \#29 - candle chart [\#192](https://github.com/danielgindi/Charts/pull/192) ([dorsoft](https://github.com/dorsoft)) ## [v2.1.3](https://github.com/danielgindi/Charts/tree/v2.1.3) (2015-08-05) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.1.2...v2.1.3) **Closed issues:** @@ -2800,9 +3688,11 @@ - try to fix bar chart + Horizontal Bar chart wrong render + highlight position bug for issue \#214 and \#242. [\#248](https://github.com/danielgindi/Charts/pull/248) ([liuxuan30](https://github.com/liuxuan30)) ## [v2.1.2](https://github.com/danielgindi/Charts/tree/v2.1.2) (2015-07-26) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.1.1...v2.1.2) ## [v2.1.1](https://github.com/danielgindi/Charts/tree/v2.1.1) (2015-07-26) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.1.0...v2.1.1) **Fixed bugs:** @@ -2921,10 +3811,6 @@ **Merged pull requests:** -- Fixes to allow the code to compile with Swift 2.0 [\#232](https://github.com/danielgindi/Charts/pull/232) ([jmacmullin](https://github.com/jmacmullin)) -- fix radar chart negative value rendering bug if startAtZeroEnabled is false for issue \#166 [\#207](https://github.com/danielgindi/Charts/pull/207) ([liuxuan30](https://github.com/liuxuan30)) -- Fixes for beta 3 [\#200](https://github.com/danielgindi/Charts/pull/200) ([petester42](https://github.com/petester42)) -- Performance Enhancements \#29 - candle chart [\#192](https://github.com/danielgindi/Charts/pull/192) ([dorsoft](https://github.com/dorsoft)) - Candle chart - make the shadow same color as an candle color \#122 [\#191](https://github.com/danielgindi/Charts/pull/191) ([dorsoft](https://github.com/dorsoft)) - ChartData.removeEntryByXIndex removes the wrong entry \#182 [\#185](https://github.com/danielgindi/Charts/pull/185) ([dorsoft](https://github.com/dorsoft)) - The line charts have started to properly display balloon markers [\#179](https://github.com/danielgindi/Charts/pull/179) ([Maxim-38RUS-Zabelin](https://github.com/Maxim-38RUS-Zabelin)) @@ -2940,6 +3826,7 @@ - Changing iOS deployment target to 8.0 from 8.1 [\#74](https://github.com/danielgindi/Charts/pull/74) ([michaelmcguire](https://github.com/michaelmcguire)) ## [v2.1.0](https://github.com/danielgindi/Charts/tree/v2.1.0) (2015-05-05) + [Full Changelog](https://github.com/danielgindi/Charts/compare/v2.0.9...v2.1.0) **Implemented enhancements:** @@ -2991,12 +3878,12 @@ - Added possibility to set the axisLabelModulus manually. [\#56](https://github.com/danielgindi/Charts/pull/56) ([webventil](https://github.com/webventil)) - Add missing UIKit imports for iOS 7 support [\#45](https://github.com/danielgindi/Charts/pull/45) ([msanders](https://github.com/msanders)) - Add 'init' to PieChartData to be used from Swift [\#37](https://github.com/danielgindi/Charts/pull/37) ([jmnavarro](https://github.com/jmnavarro)) -- Bubble chart work by @petester42 [\#32](https://github.com/danielgindi/Charts/pull/32) ([danielgindi](https://github.com/danielgindi)) - Added Bubble Chart Type [\#25](https://github.com/danielgindi/Charts/pull/25) ([petester42](https://github.com/petester42)) - Shared Charts.framework scheme [\#22](https://github.com/danielgindi/Charts/pull/22) ([zenkimoto](https://github.com/zenkimoto)) - Add missing UIKit [\#20](https://github.com/danielgindi/Charts/pull/20) ([mkalmes](https://github.com/mkalmes)) ## [v2.0.9](https://github.com/danielgindi/Charts/tree/v2.0.9) (2015-04-08) + [Full Changelog](https://github.com/danielgindi/Charts/compare/0.0.1...v2.0.9) **Closed issues:** @@ -3008,6 +3895,9 @@ - Added a podspec [\#13](https://github.com/danielgindi/Charts/pull/13) ([petester42](https://github.com/petester42)) ## [0.0.1](https://github.com/danielgindi/Charts/tree/0.0.1) (2015-04-07) + +[Full Changelog](https://github.com/danielgindi/Charts/compare/72652ef3ef988664c9b543bb9f38617e46cc68d7...0.0.1) + **Closed issues:** - Need Version to be compatible with Xcode 6.2 [\#12](https://github.com/danielgindi/Charts/issues/12) @@ -3027,4 +3917,4 @@ -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file +\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5b66f22f8f..6172134b12 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # How to contribute -Bug-fixes and features often come from users of the Charts framework, and improving it greatly. We want to keep it as easy as possible to contribute changes that improve the experience for users all around the world. There are a few guidelines that we +Bug-fixes and features often come from users of the DGCharts framework, and improving it greatly. We want to keep it as easy as possible to contribute changes that improve the experience for users all around the world. There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things. @@ -8,38 +8,38 @@ top of things. If you are reporting a bug which can be observed visually, please add to your issue either: -* Screenshots, if the bug is easily explainable -* A working sample project that we can compile, run, and immediately observe the issue +- Screenshots, if the bug is easily explainable +- A working sample project that we can compile, run, and immediately observe the issue ## Getting Started with Contributions -* Make sure you have a [GitHub account](https://github.com/signup/free) -* Submit a ticket for your issue, assuming one does not already exist. - * Clearly describe the issue including steps to reproduce when it is a bug. - * Make sure you fill in the earliest version (or commit number) that you know has the issue. -* Fork the repository on GitHub +- Make sure you have a [GitHub account](https://github.com/signup/free) +- Submit a ticket for your issue, assuming one does not already exist. + - Clearly describe the issue including steps to reproduce when it is a bug. + - Make sure you fill in the earliest version (or commit number) that you know has the issue. +- Fork the repository on GitHub ## Making Changes -* Create a topic branch from where you want to base your work. This is usually the master branch. -* Make commits of logical units. -* Make sure your code conforms to the code style around it. It's easy, just look around! -* If you have made changes back and forth, or have made merges, your commit history might look messy and hard to understand. A single issue or change should still be in one commit. So please squash those commits together and rebase them however you need to - to make our lives easier when reading it later. -* Check for unnecessary whitespace with `git diff --check` before committing. -* Make sure your commit messages are in the proper format. +- Create a topic branch from where you want to base your work. This is usually the master branch. +- Make commits of logical units. +- Make sure your code conforms to the code style around it. It's easy, just look around! +- If you have made changes back and forth, or have made merges, your commit history might look messy and hard to understand. A single issue or change should still be in one commit. So please squash those commits together and rebase them however you need to - to make our lives easier when reading it later. +- Check for unnecessary whitespace with `git diff --check` before committing. +- Make sure your commit messages are in the proper format. -```` +``` First line must be up to 50 chars (Fixes #1234) The first line should be a short statement as to what have changed, and should also include an issue number, prefixed with a hash. The body of the message comes after an empty new line, and describes the changes more thoroughly, especially if there was a special case handled there, or maybe some trickery that only code wizards can understand. -```` +``` -* Make sure you have tested your changes well. -* If your changes could theoretically affect some other component or case, which you do not necessarily use, you still have to test it. -* Create a Pull Request from your topic branch to the relevant branch in the main repo. If you go to the main repo of the framework, you'll see a big green button which pretty much prepares the PR for you. You just have to hit it. +- Make sure you have tested your changes well. +- If your changes could theoretically affect some other component or case, which you do not necessarily use, you still have to test it. +- Create a Pull Request from your topic branch to the relevant branch in the main repo. If you go to the main repo of the framework, you'll see a big green button which pretty much prepares the PR for you. You just have to hit it. ## Making Trivial Changes diff --git a/Cartfile b/Cartfile deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Cartfile.private b/Cartfile.private deleted file mode 100644 index a27f21f92d..0000000000 --- a/Cartfile.private +++ /dev/null @@ -1 +0,0 @@ -github "facebook/ios-snapshot-test-case" "master" diff --git a/Cartfile.resolved b/Cartfile.resolved deleted file mode 100644 index 1672a76f44..0000000000 --- a/Cartfile.resolved +++ /dev/null @@ -1 +0,0 @@ -github "facebook/ios-snapshot-test-case" "ed4e6a6e81bfb69a5223156e6c3d389a416cf6e3" diff --git a/Charts.podspec b/Charts.podspec deleted file mode 100644 index 2ae9bd88e6..0000000000 --- a/Charts.podspec +++ /dev/null @@ -1,17 +0,0 @@ -Pod::Spec.new do |s| - s.name = "Charts" - s.version = "3.1.1" - s.summary = "Charts is a powerful & easy to use chart library for iOS, tvOS and OSX (and Android)" - s.homepage = "https://github.com/danielgindi/Charts" - s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" } - s.authors = "Daniel Cohen Gindi", "Philipp Jahoda" - s.ios.deployment_target = "8.0" - s.tvos.deployment_target = "9.0" - s.osx.deployment_target = "10.11" - s.source = { :git => "https://github.com/danielgindi/Charts.git", :tag => "v#{s.version}" } - s.default_subspec = "Core" - - s.subspec "Core" do |ss| - ss.source_files = "Source/Charts/**/*.swift" - end -end diff --git a/Charts.xcodeproj/project.pbxproj b/Charts.xcodeproj/project.pbxproj index d5ed7687e8..dc4108ab83 100644 --- a/Charts.xcodeproj/project.pbxproj +++ b/Charts.xcodeproj/project.pbxproj @@ -3,31 +3,35 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ - 00B8BF5901C2D220357B0B2A /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 41DDB768A1D033A34F0EF9E0 /* Media.xcassets */; }; 00BC23EF0E04E17188344403 /* BarChartDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D7184C8A5A60A3522AB9B05 /* BarChartDataProvider.swift */; }; 02A6E6E1A82A27A66B8D08C4 /* MoveViewJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 266E162DA8B29D9AEB6A9397 /* MoveViewJob.swift */; }; - 03960E8148C6AEDACE4B77CC /* IMarker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 596963A429D485E3894C4666 /* IMarker.swift */; }; + 03960E8148C6AEDACE4B77CC /* Marker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 596963A429D485E3894C4666 /* Marker.swift */; }; 0511E43EF3FD2CDE7F7F15DB /* ScatterChartDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FD37A55B4D85D883E29C744 /* ScatterChartDataProvider.swift */; }; 05253AFC448C107DEF54C2FE /* CombinedChartRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52265C1B343CCC41AF2300E3 /* CombinedChartRenderer.swift */; }; 0529DD51622C8769C1121F90 /* CrossShapeRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 823F7DB281C6C6F069A69605 /* CrossShapeRenderer.swift */; }; 0577C2B38BCE4C871F262714 /* AnimatedZoomViewJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2EA58CB336967198D30D20 /* AnimatedZoomViewJob.swift */; }; - 064989461F5C99C7006E8BB3 /* Snapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064989451F5C99C7006E8BB3 /* Snapshot.swift */; }; + 064989461F5C99C7006E8BB3 /* Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064989451F5C99C7006E8BB3 /* Utilities.swift */; }; + 067934562A324A9D004BFBA9 /* Indexed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 067934542A324A9D004BFBA9 /* Indexed.swift */; }; + 067934572A324A9D004BFBA9 /* Partition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 067934552A324A9D004BFBA9 /* Partition.swift */; }; + 06AB297F20FA726600BAD505 /* Highlighter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06AB297E20FA726500BAD505 /* Highlighter.swift */; }; 0A772AEC08246FEC480673E5 /* PieRadarChartViewBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A6C9631C69B2D772BBD9232 /* PieRadarChartViewBase.swift */; }; 0C52C70C6E6EA09BD7426386 /* RadarChartData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBB57D6FA41029B08F26D7B /* RadarChartData.swift */; }; 0CAF514A280FF6A14E2A1A23 /* CombinedChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11EF1FE22549E885C8F40738 /* CombinedChartView.swift */; }; - 0D8A89398F9BD5DCC8D7F976 /* ICandleChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18BFB0A14A5C47A302A597D9 /* ICandleChartDataSet.swift */; }; + 0D8A89398F9BD5DCC8D7F976 /* CandleChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18BFB0A14A5C47A302A597D9 /* CandleChartDataSetProtocol.swift */; }; 11F68AA2EBF822D7208EE002 /* YAxisRendererRadarChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA5A16F4A382813C4FE8BDF9 /* YAxisRendererRadarChart.swift */; }; - 1311BEC21E9CC264E971EFAF /* ILineRadarChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F7E6A99D82E6AE3804D5A39 /* ILineRadarChartDataSet.swift */; }; + 1311BEC21E9CC264E971EFAF /* LineRadarChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F7E6A99D82E6AE3804D5A39 /* LineRadarChartDataSetProtocol.swift */; }; 135F11CE20425AF600D655A3 /* PieChartTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135F11CD20425AF600D655A3 /* PieChartTests.swift */; }; - 146EE16342C2BADC92E45BF2 /* ILineScatterCandleRadarChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9249AD9AEC8C85772365A128 /* ILineScatterCandleRadarChartDataSet.swift */; }; + 146EE16342C2BADC92E45BF2 /* LineScatterCandleRadarChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9249AD9AEC8C85772365A128 /* LineScatterCandleRadarChartDataSetProtocol.swift */; }; 17E994DA88777AA1D8CCFC58 /* BarChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31AA65EA27776F8C653C7E8 /* BarChartDataSet.swift */; }; - 203A39685CC96FC625F616E4 /* IHighlighter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 998F2BFE318471AFC05B50AC /* IHighlighter.swift */; }; 219192CA6B4895319AB49DCA /* BarLineScatterCandleBubbleRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B1C588E9DF6FFD56D7ADF8E /* BarLineScatterCandleBubbleRenderer.swift */; }; - 224EFF991FBAAC4700CF9B3B /* EquatableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 224EFF981FBAAC4700CF9B3B /* EquatableTests.swift */; }; + 221CA2922588FCBC00C2DD1E /* Sequence+KeyPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 221CA2912588FCBC00C2DD1E /* Sequence+KeyPath.swift */; }; + 2243BBFD1FF156EC00B49D0B /* EquatableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2243BBFB1FF156D000B49D0B /* EquatableTests.swift */; }; + 22786E8525CD96620051335B /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 22786E8325CD96620051335B /* Media.xcassets */; }; + 22BBDA0825CC4C2F00435670 /* SnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = 22BBDA0725CC4C2F00435670 /* SnapshotTesting */; }; 23649EFC635A76022F07FFA6 /* PieChartDataEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD02157CF8CEE1189BF681DA /* PieChartDataEntry.swift */; }; 23FA50B2730D8C7ACA091C4F /* BarChartRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75F279974FE650E57A061B09 /* BarChartRenderer.swift */; }; 24151B0729D77251A8494D70 /* LineRadarRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 105FFC9D3773A9C7A60A897F /* LineRadarRenderer.swift */; }; @@ -38,7 +42,7 @@ 2B821AAC3EBD60A73EACBCE6 /* LegendRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F715DB2C56C9E0615542625B /* LegendRenderer.swift */; }; 2BA03CEC36BADCF682F1328B /* LineChartDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFABD027DAF6851088F002AC /* LineChartDataProvider.swift */; }; 2BF85BEA981B359A65E9BF67 /* LineChartTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2E1819D72CD7B6C4A4E8048 /* LineChartTests.swift */; }; - 2C40CFFC8D88BEA70E0A50B0 /* IBubbleChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3788EC55EF908B0805D7C2F /* IBubbleChartDataSet.swift */; }; + 2C40CFFC8D88BEA70E0A50B0 /* BubbleChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3788EC55EF908B0805D7C2F /* BubbleChartDataSetProtocol.swift */; }; 2C879FC24D7A15D70BE4063F /* PieChartData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E03A4987F72414A02A0631B /* PieChartData.swift */; }; 2FBA7E982EB57932B9F3E9B5 /* YAxis.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB92A80F861C1362EED8D946 /* YAxis.swift */; }; 3097296AC7FFA994FE4AD312 /* PieRadarHighlighter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F7B9DF1F2D66E7279771D4 /* PieRadarHighlighter.swift */; }; @@ -47,6 +51,7 @@ 3395682A1E27756651FF6F4D /* BarChartData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0108D5925E21A47DA36A66AA /* BarChartData.swift */; }; 369DEB23452CB436A3A1A644 /* MarkerImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392AAEB02DD7B351D92907C2 /* MarkerImage.swift */; }; 383D68A13E1C3D6A251E5147 /* CandleChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 274116834B1B0345D622E027 /* CandleChartDataSet.swift */; }; + 39279C482B6B643600204A3D /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3959DF712B4BD33000A20423 /* PrivacyInfo.xcprivacy */; }; 3B11556EB7DC034E2FC958E4 /* BarChartTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C3F5E1A69EC06E86505F7B1 /* BarChartTests.swift */; }; 3CBE95F1E9394FA08CDCF31E /* BarHighlighter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 543729805D897CC03E5F78D3 /* BarHighlighter.swift */; }; 40C82F2209E1BA9E41E8F3DA /* ChartColorTemplates.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6227A646166E248F90F86AD /* ChartColorTemplates.swift */; }; @@ -58,7 +63,7 @@ 48E875BBD6540BDE1C1B7D3D /* AxisBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B7AEFBF4D85B9D2EAAB3071 /* AxisBase.swift */; }; 4E98788ABEF6496C23F3E6C6 /* HorizontalBarHighlighter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33BE9A97FFA41D3D85CAFFC7 /* HorizontalBarHighlighter.swift */; }; 4FACC6FD308AFB231EB4A93D /* XAxisRendererRadarChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC19DC2434D65FFB446A61B7 /* XAxisRendererRadarChart.swift */; }; - 50476F8E6662CAFC1EFE0723 /* IScatterChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 219BC9CEA037F897E92E45D1 /* IScatterChartDataSet.swift */; }; + 50476F8E6662CAFC1EFE0723 /* ScatterChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 219BC9CEA037F897E92E45D1 /* ScatterChartDataSetProtocol.swift */; }; 515E286E6C47594D3FFA3DD1 /* ViewPortHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72EAEBB7CF73E33565FC2896 /* ViewPortHandler.swift */; }; 53A91F6F86740E26FE733639 /* BarLineScatterCandleBubbleChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D717F0808DE7EC8A4AE9C2A /* BarLineScatterCandleBubbleChartDataSet.swift */; }; 56E0F5EA9255B9B92876E040 /* BubbleChartRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2194AA554712E6BA2677F114 /* BubbleChartRenderer.swift */; }; @@ -85,10 +90,10 @@ 7EE6EFE70CF4D8B09CAFCD01 /* AnimatedMoveViewJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA157EFF2F952192C11DF937 /* AnimatedMoveViewJob.swift */; }; 8102A555DD6C93AC1290EA7C /* Fill.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A4CFFFB65819121595F06F1 /* Fill.swift */; }; 81892994002C0640AD858748 /* ChartData.swift in Sources */ = {isa = PBXBuildFile; fileRef = E120E76C6F1B5877D56126DD /* ChartData.swift */; }; - 83BBAF3EDC31FD452F8BF1DB /* IRadarChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EAD807534620E3B53327F04 /* IRadarChartDataSet.swift */; }; + 83BBAF3EDC31FD452F8BF1DB /* RadarChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EAD807534620E3B53327F04 /* RadarChartDataSetProtocol.swift */; }; 846AC09831FA93F66732591B /* YAxisRendererHorizontalBarChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAE417AAA0FCA0DD00E77489 /* YAxisRendererHorizontalBarChart.swift */; }; 8A463E2947F211C594CA5E95 /* TransformerHorizontalBarChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 324C9127B53A8D39C8B49277 /* TransformerHorizontalBarChart.swift */; }; - 8A9FF54E2075A9047CC8E953 /* IShapeRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1D3D13180C2E3893A82546 /* IShapeRenderer.swift */; }; + 8A9FF54E2075A9047CC8E953 /* ShapeRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1D3D13180C2E3893A82546 /* ShapeRenderer.swift */; }; 8BCCD709AACC565613D9DA68 /* CandleStickChartRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5C6D20243EC2F19069AACD /* CandleStickChartRenderer.swift */; }; 8E1192F7A7152E9DA92C56A9 /* ChartUtilsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AB9062A28AAB9469752A954 /* ChartUtilsTests.swift */; }; 8EF7B3FBE37F72CC030CD865 /* SquareShapeRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32FC01A016DFF1BA73AF9182 /* SquareShapeRenderer.swift */; }; @@ -98,30 +103,37 @@ 9400725714D0DA707DDECD2E /* ViewPortJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA7BDB22C97F39A4B33E38A7 /* ViewPortJob.swift */; }; 95B6D6F35684292A62DBEA74 /* LineChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A75AA73C5AA381DA517959 /* LineChartDataSet.swift */; }; 967EE2EDDE3337C5C4337C59 /* IndexAxisValueFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10DD0A02E3CF611BD11EBA9B /* IndexAxisValueFormatter.swift */; }; + 97AD2D4620AF917100F9C24A /* Platform+Accessibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97AD2D4520AF917100F9C24A /* Platform+Accessibility.swift */; }; 97E033CC0ABEF0F448DAFA8E /* DataApproximator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93EF9709CF635BEE70D1ABC5 /* DataApproximator.swift */; }; 98E2EEF45E8933E4AD182D58 /* ChartViewBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30EFAD7920F76360ADB3B5F5 /* ChartViewBase.swift */; }; 9A26C8DB1F87B01700367599 /* DataApproximator+N.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A26C8DA1F87B01700367599 /* DataApproximator+N.swift */; }; 9C91C151608E2D6E19B1EAD1 /* Range.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F099502DA50C56204E7B744 /* Range.swift */; }; 9F760570BCECB0BF5727AF90 /* BarLineChartViewBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C6D3723C4E001B119CA0C8 /* BarLineChartViewBase.swift */; }; - A40ACF0CCE96EEE104B0463D /* IValueFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EAA8AA30C377D54D22A577A /* IValueFormatter.swift */; }; + A40ACF0CCE96EEE104B0463D /* ValueFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EAA8AA30C377D54D22A577A /* ValueFormatter.swift */; }; A692D8BDE42717F69DB790BE /* HorizontalBarChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6021C9E424C36116AEA78CC9 /* HorizontalBarChartView.swift */; }; AEE9C4E4AC02B8FB3CD21975 /* ZoomViewJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB3A4F5987E58F3E5BE855F9 /* ZoomViewJob.swift */; }; - AF4AAF3709ED9DDF6362EAE8 /* IBarLineScatterCandleBubbleChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5649B272BF3EBFC8A1EF0C1 /* IBarLineScatterCandleBubbleChartDataSet.swift */; }; + AF4AAF3709ED9DDF6362EAE8 /* BarLineScatterCandleBubbleChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5649B272BF3EBFC8A1EF0C1 /* BarLineScatterCandleBubbleChartDataSetProtocol.swift */; }; B0D28C68BB9A958DC56EB214 /* DefaultValueFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 107D8F8163EE54D6D9E916B0 /* DefaultValueFormatter.swift */; }; - B13C74B4FF705D7B595D01EF /* IAxisValueFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BD9DF16AF59680A3BB49452 /* IAxisValueFormatter.swift */; }; + B13C74B4FF705D7B595D01EF /* AxisValueFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BD9DF16AF59680A3BB49452 /* AxisValueFormatter.swift */; }; B539114951455C35BADAE3F3 /* PieChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4FB5E3761EF8B4D1E1E1014 /* PieChartDataSet.swift */; }; + B66817462241E3CC00017CF1 /* HorizontalBarChartTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B66817452241E3CC00017CF1 /* HorizontalBarChartTests.swift */; }; B6BF9A561F91993A00E62A5D /* CombinedChartTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6BF9A551F91993A00E62A5D /* CombinedChartTests.swift */; }; - B6C9F450D937B87224D29D5C /* IFillFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818AC6B12505B7C0A53D62F9 /* IFillFormatter.swift */; }; + B6C9F450D937B87224D29D5C /* FillFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818AC6B12505B7C0A53D62F9 /* FillFormatter.swift */; }; B6DCC229615EFE706F64A37D /* LineScatterCandleRadarRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 923206233CA89FD03565FF87 /* LineScatterCandleRadarRenderer.swift */; }; B85DEB06B4C1AFFC8A0E3295 /* CircleShapeRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECE1B1623D3AF69CECAE8562 /* CircleShapeRenderer.swift */; }; - BEFD9518F3A74ACF8FA33308 /* Charts.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F9922F0641F7955DC6CD324 /* Charts.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BEFD9518F3A74ACF8FA33308 /* DGCharts.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F9922F0641F7955DC6CD324 /* DGCharts.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C03E6D8123DAAB2600083010 /* ChartDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C03E6D8023DAAB2600083010 /* ChartDataTests.swift */; }; C04D269AD4A373FD2B621C43 /* LineChartData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C978F31F23C7D21197DC2A1 /* LineChartData.swift */; }; C09E91F67A4AC43C277E7D82 /* BubbleChartDataEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD8ED233775EEC31243A6919 /* BubbleChartDataEntry.swift */; }; C20A62D8CB9120523D5FB650 /* LegendEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E7C673B9ED4340F550A9283 /* LegendEntry.swift */; }; C2EFB4EC8C97FA9987F1B50D /* RadarChartDataEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91EEEDE2AB8F2DA3AFCF0733 /* RadarChartDataEntry.swift */; }; C33E1AF5471A60BA42DAF52E /* RadarHighlighter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F368CF209744D8F3B85B1028 /* RadarHighlighter.swift */; }; - C3F0DDB7F0A922F0BB7EDB8A /* IBarChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A53A9E42FC07FFDACA937C1 /* IBarChartDataSet.swift */; }; - C7B150D740255670DEB9F455 /* Charts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 65AD9E95D9ED4DC0BD73A743 /* Charts.framework */; }; + C3F0DDB7F0A922F0BB7EDB8A /* BarChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A53A9E42FC07FFDACA937C1 /* BarChartDataSetProtocol.swift */; }; + C7B150D740255670DEB9F455 /* DGCharts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 65AD9E95D9ED4DC0BD73A743 /* DGCharts.framework */; }; + C9AA360A2355F01F00C97D93 /* Platform+Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9AA36092355F01F00C97D93 /* Platform+Color.swift */; }; + C9F3DC262355F791000C3215 /* Platform+Graphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9F3DC242355F791000C3215 /* Platform+Graphics.swift */; }; + C9F3DC272355F791000C3215 /* Platform+Gestures.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9F3DC252355F791000C3215 /* Platform+Gestures.swift */; }; + C9F3DC292355FA2F000C3215 /* Platform+Touch Handling.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9F3DC282355FA2F000C3215 /* Platform+Touch Handling.swift */; }; CB785FE9B6B312408D17BC3B /* ChartUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FDA09EF973925A110506799 /* ChartUtils.swift */; }; CC7F8198A13249B5DEBBF25E /* AnimatedViewPortJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 710D7C9B2F1DB4A331EE405A /* AnimatedViewPortJob.swift */; }; CEF68F42A5390A73113F3663 /* Renderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F66B32AD8A878CBD6DB6ED2 /* Renderer.swift */; }; @@ -136,20 +148,20 @@ E4B2F363414E84C4D4B8A885 /* BubbleChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EED352A98860E031F13AFB7 /* BubbleChartView.swift */; }; E50D291A6B6E69BF0B56A67C /* ChartBaseDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9FE42E868A225C116537368 /* ChartBaseDataSet.swift */; }; E68CA3DC66EB638C956E09B8 /* BubbleChartData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EDA3AD550AEFC93C8D15B9C /* BubbleChartData.swift */; }; - E8F0F4F47CD7D72B4EE5A794 /* IChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A32510073A303CBB38E094A /* IChartDataSet.swift */; }; + E8F0F4F47CD7D72B4EE5A794 /* ChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A32510073A303CBB38E094A /* ChartDataSetProtocol.swift */; }; E9FF0ECB5E0CA92DBF4C1BC4 /* Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ED23C354AFE81818D78E645 /* Platform.swift */; }; EAEA60D22CA8C1B7E18D3F7D /* ChartDataEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = F22750328058DEC2F019646F /* ChartDataEntry.swift */; }; EB56849433A76B08606B73EB /* ScatterChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB1DD1A0F64266A10EE94194 /* ScatterChartDataSet.swift */; }; ECE7EAE7179A7F57CE9BBD8F /* Legend.swift in Sources */ = {isa = PBXBuildFile; fileRef = E64A75540C627E09080B402A /* Legend.swift */; }; - ECECC58CEF03B1718F8267E8 /* AxisRendererBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C75935E899183DDFA181E2CC /* AxisRendererBase.swift */; }; + ECECC58CEF03B1718F8267E8 /* AxisRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = C75935E899183DDFA181E2CC /* AxisRenderer.swift */; }; F100D68395F169B93590FA96 /* HorizontalBarChartRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 539382766378B702660FDFB2 /* HorizontalBarChartRenderer.swift */; }; F103D90FC5DEEA0D7BB4407E /* ChevronUpShapeRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA70259ED16FF80D8EEB0F94 /* ChevronUpShapeRenderer.swift */; }; - F37B07008B8AE7F3909FFB9C /* ChartDataRendererBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0216EDC6A1FE272F4EB19FCF /* ChartDataRendererBase.swift */; }; + F37B07008B8AE7F3909FFB9C /* DataRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0216EDC6A1FE272F4EB19FCF /* DataRenderer.swift */; }; F5A209116FAC68F5903D0B46 /* ChartAnimationEasing.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFB762958EE8E6521563665D /* ChartAnimationEasing.swift */; }; F744C510DA9B85C228BBB335 /* DefaultFillFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6C1BEFDF17404666C7B6054 /* DefaultFillFormatter.swift */; }; - F941C88BF814DF51C465CB95 /* ILineChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 429E88F2729735DC092EE556 /* ILineChartDataSet.swift */; }; + F941C88BF814DF51C465CB95 /* LineChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 429E88F2729735DC092EE556 /* LineChartDataSetProtocol.swift */; }; FA07D034D9C3BC7795184ACA /* LineScatterCandleRadarChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = C58BD7B14BEA440783ED8D2B /* LineScatterCandleRadarChartDataSet.swift */; }; - FAAD9FF6565DED2652188584 /* IPieChartDataSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA2AA6CC89F809DCCD7605B4 /* IPieChartDataSet.swift */; }; + FAAD9FF6565DED2652188584 /* PieChartDataSetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA2AA6CC89F809DCCD7605B4 /* PieChartDataSetProtocol.swift */; }; FD37AAC0270F390FFC470A65 /* ChartDataProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B73FCEDD3841E7B958F6A9 /* ChartDataProvider.swift */; }; FDBDAFA7A5337C6E3992DACE /* ComponentBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C9A105A7DB64F39DDA648B /* ComponentBase.swift */; }; /* End PBXBuildFile section */ @@ -166,11 +178,14 @@ /* Begin PBXFileReference section */ 0108D5925E21A47DA36A66AA /* BarChartData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarChartData.swift; path = Source/Charts/Data/Implementations/Standard/BarChartData.swift; sourceTree = ""; }; - 0216EDC6A1FE272F4EB19FCF /* ChartDataRendererBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartDataRendererBase.swift; path = Source/Charts/Renderers/ChartDataRendererBase.swift; sourceTree = ""; }; + 0216EDC6A1FE272F4EB19FCF /* DataRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataRenderer.swift; path = Source/Charts/Renderers/DataRenderer.swift; sourceTree = ""; }; 04F7B9DF1F2D66E7279771D4 /* PieRadarHighlighter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PieRadarHighlighter.swift; path = Source/Charts/Highlight/PieRadarHighlighter.swift; sourceTree = ""; }; 0619A877C69A95ECCC440A44 /* LineChartView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineChartView.swift; path = Source/Charts/Charts/LineChartView.swift; sourceTree = ""; }; - 064989451F5C99C7006E8BB3 /* Snapshot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Snapshot.swift; path = Tests/Charts/Snapshot.swift; sourceTree = ""; }; - 0BD9DF16AF59680A3BB49452 /* IAxisValueFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IAxisValueFormatter.swift; path = Source/Charts/Formatters/IAxisValueFormatter.swift; sourceTree = ""; }; + 064989451F5C99C7006E8BB3 /* Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utilities.swift; sourceTree = ""; }; + 067934542A324A9D004BFBA9 /* Indexed.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Indexed.swift; path = Source/Charts/Utils/Indexed.swift; sourceTree = ""; }; + 067934552A324A9D004BFBA9 /* Partition.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Partition.swift; path = Source/Charts/Utils/Partition.swift; sourceTree = ""; }; + 06AB297E20FA726500BAD505 /* Highlighter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Highlighter.swift; path = Source/Charts/Highlight/Highlighter.swift; sourceTree = ""; }; + 0BD9DF16AF59680A3BB49452 /* AxisValueFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AxisValueFormatter.swift; path = Source/Charts/Formatters/AxisValueFormatter.swift; sourceTree = ""; }; 0DABDBBCCE6B3620C967F04A /* LineChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineChartRenderer.swift; path = Source/Charts/Renderers/LineChartRenderer.swift; sourceTree = ""; }; 0DDE409E9ECF54D2C146A6F0 /* CombinedChartData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombinedChartData.swift; path = Source/Charts/Data/Implementations/Standard/CombinedChartData.swift; sourceTree = ""; }; 0F099502DA50C56204E7B744 /* Range.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Range.swift; path = Source/Charts/Highlight/Range.swift; sourceTree = ""; }; @@ -179,35 +194,38 @@ 10DD0A02E3CF611BD11EBA9B /* IndexAxisValueFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IndexAxisValueFormatter.swift; path = Source/Charts/Formatters/IndexAxisValueFormatter.swift; sourceTree = ""; }; 11EF1FE22549E885C8F40738 /* CombinedChartView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombinedChartView.swift; path = Source/Charts/Charts/CombinedChartView.swift; sourceTree = ""; }; 12409C3EA15787C11AF0D2BC /* ChartDataEntryBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartDataEntryBase.swift; path = Source/Charts/Data/Implementations/Standard/ChartDataEntryBase.swift; sourceTree = ""; }; - 135F11CD20425AF600D655A3 /* PieChartTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PieChartTests.swift; path = Tests/Charts/PieChartTests.swift; sourceTree = ""; }; + 135F11CD20425AF600D655A3 /* PieChartTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PieChartTests.swift; sourceTree = ""; }; 18462BFDD9DEE76D51D40503 /* ScatterChartView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScatterChartView.swift; path = Source/Charts/Charts/ScatterChartView.swift; sourceTree = ""; }; - 18BFB0A14A5C47A302A597D9 /* ICandleChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ICandleChartDataSet.swift; path = Source/Charts/Data/Interfaces/ICandleChartDataSet.swift; sourceTree = ""; }; + 18BFB0A14A5C47A302A597D9 /* CandleChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CandleChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/CandleChartDataSetProtocol.swift; sourceTree = ""; }; 1C02C3AF5C92FCFC18224C35 /* XAxisRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XAxisRenderer.swift; path = Source/Charts/Renderers/XAxisRenderer.swift; sourceTree = ""; }; - 1CBBC58C6CE1EBEE9852CE41 /* ChartsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ChartsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 1CBBC58C6CE1EBEE9852CE41 /* DGChartsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DGChartsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 1F3D55A7E6176D52DC957D27 /* XAxisRendererHorizontalBarChart.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XAxisRendererHorizontalBarChart.swift; path = Source/Charts/Renderers/XAxisRendererHorizontalBarChart.swift; sourceTree = ""; }; 2194AA554712E6BA2677F114 /* BubbleChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BubbleChartRenderer.swift; path = Source/Charts/Renderers/BubbleChartRenderer.swift; sourceTree = ""; }; - 219BC9CEA037F897E92E45D1 /* IScatterChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IScatterChartDataSet.swift; path = Source/Charts/Data/Interfaces/IScatterChartDataSet.swift; sourceTree = ""; }; - 224EFF981FBAAC4700CF9B3B /* EquatableTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = EquatableTests.swift; path = Tests/Charts/EquatableTests.swift; sourceTree = ""; }; + 219BC9CEA037F897E92E45D1 /* ScatterChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScatterChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/ScatterChartDataSetProtocol.swift; sourceTree = ""; }; + 221CA2912588FCBC00C2DD1E /* Sequence+KeyPath.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "Sequence+KeyPath.swift"; path = "Source/Charts/Utils/Sequence+KeyPath.swift"; sourceTree = ""; }; + 2243BBFB1FF156D000B49D0B /* EquatableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EquatableTests.swift; sourceTree = ""; }; + 22786E8325CD96620051335B /* Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Media.xcassets; sourceTree = ""; }; + 22786E8425CD96620051335B /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 23D35CF6F9177D77B6B97AE1 /* XShapeRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XShapeRenderer.swift; path = Source/Charts/Renderers/Scatter/XShapeRenderer.swift; sourceTree = ""; }; 2440DB759AB93B4A928A3F6F /* RadarChartView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RadarChartView.swift; path = Source/Charts/Charts/RadarChartView.swift; sourceTree = ""; }; 2465CB73738EBAFB46C57288 /* CombinedHighlighter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombinedHighlighter.swift; path = Source/Charts/Highlight/CombinedHighlighter.swift; sourceTree = ""; }; 266E162DA8B29D9AEB6A9397 /* MoveViewJob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MoveViewJob.swift; path = Source/Charts/Jobs/MoveViewJob.swift; sourceTree = ""; }; 274116834B1B0345D622E027 /* CandleChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CandleChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/CandleChartDataSet.swift; sourceTree = ""; }; - 2EAD807534620E3B53327F04 /* IRadarChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IRadarChartDataSet.swift; path = Source/Charts/Data/Interfaces/IRadarChartDataSet.swift; sourceTree = ""; }; + 2EAD807534620E3B53327F04 /* RadarChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RadarChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/RadarChartDataSetProtocol.swift; sourceTree = ""; }; 2FD37A55B4D85D883E29C744 /* ScatterChartDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScatterChartDataProvider.swift; path = Source/Charts/Interfaces/ScatterChartDataProvider.swift; sourceTree = ""; }; 30EFAD7920F76360ADB3B5F5 /* ChartViewBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartViewBase.swift; path = Source/Charts/Charts/ChartViewBase.swift; sourceTree = ""; }; 324C9127B53A8D39C8B49277 /* TransformerHorizontalBarChart.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformerHorizontalBarChart.swift; path = Source/Charts/Utils/TransformerHorizontalBarChart.swift; sourceTree = ""; }; 32FC01A016DFF1BA73AF9182 /* SquareShapeRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SquareShapeRenderer.swift; path = Source/Charts/Renderers/Scatter/SquareShapeRenderer.swift; sourceTree = ""; }; 33BE9A97FFA41D3D85CAFFC7 /* HorizontalBarHighlighter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HorizontalBarHighlighter.swift; path = Source/Charts/Highlight/HorizontalBarHighlighter.swift; sourceTree = ""; }; 392AAEB02DD7B351D92907C2 /* MarkerImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MarkerImage.swift; path = Source/Charts/Components/MarkerImage.swift; sourceTree = ""; }; + 3959DF712B4BD33000A20423 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = Source/Charts/PrivacyInfo.xcprivacy; sourceTree = ""; }; 3976E5F9D60E30CD94CE6156 /* Animator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Animator.swift; path = Source/Charts/Animation/Animator.swift; sourceTree = ""; }; - 3A32510073A303CBB38E094A /* IChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IChartDataSet.swift; path = Source/Charts/Data/Interfaces/IChartDataSet.swift; sourceTree = ""; }; + 3A32510073A303CBB38E094A /* ChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/ChartDataSetProtocol.swift; sourceTree = ""; }; 3D64616883374310C505EC39 /* Highlight.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Highlight.swift; path = Source/Charts/Highlight/Highlight.swift; sourceTree = ""; }; 3ED23C354AFE81818D78E645 /* Platform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Platform.swift; path = Source/Charts/Utils/Platform.swift; sourceTree = ""; }; 3F8146ABC9FC311AF8CA699C /* CandleChartDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CandleChartDataProvider.swift; path = Source/Charts/Interfaces/CandleChartDataProvider.swift; sourceTree = ""; }; 3FDA09EF973925A110506799 /* ChartUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartUtils.swift; path = Source/Charts/Utils/ChartUtils.swift; sourceTree = ""; }; - 41DDB768A1D033A34F0EF9E0 /* Media.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Media.xcassets; path = "Tests/Supporting Files/Media.xcassets"; sourceTree = ""; }; - 429E88F2729735DC092EE556 /* ILineChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ILineChartDataSet.swift; path = Source/Charts/Data/Interfaces/ILineChartDataSet.swift; sourceTree = ""; }; + 429E88F2729735DC092EE556 /* LineChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/LineChartDataSetProtocol.swift; sourceTree = ""; }; 45C6D3723C4E001B119CA0C8 /* BarLineChartViewBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarLineChartViewBase.swift; path = Source/Charts/Charts/BarLineChartViewBase.swift; sourceTree = ""; }; 45E31A4356CC6F283C29954B /* LineRadarChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineRadarChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/LineRadarChartDataSet.swift; sourceTree = ""; }; 46D8013D44629521B1746364 /* PieChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PieChartRenderer.swift; path = Source/Charts/Renderers/PieChartRenderer.swift; sourceTree = ""; }; @@ -217,23 +235,23 @@ 4BBB57D6FA41029B08F26D7B /* RadarChartData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RadarChartData.swift; path = Source/Charts/Data/Implementations/Standard/RadarChartData.swift; sourceTree = ""; }; 4C2EA58CB336967198D30D20 /* AnimatedZoomViewJob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedZoomViewJob.swift; path = Source/Charts/Jobs/AnimatedZoomViewJob.swift; sourceTree = ""; }; 4C978F31F23C7D21197DC2A1 /* LineChartData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineChartData.swift; path = Source/Charts/Data/Implementations/Standard/LineChartData.swift; sourceTree = ""; }; - 4EAA8AA30C377D54D22A577A /* IValueFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IValueFormatter.swift; path = Source/Charts/Formatters/IValueFormatter.swift; sourceTree = ""; }; + 4EAA8AA30C377D54D22A577A /* ValueFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ValueFormatter.swift; path = Source/Charts/Formatters/ValueFormatter.swift; sourceTree = ""; }; 4EED352A98860E031F13AFB7 /* BubbleChartView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BubbleChartView.swift; path = Source/Charts/Charts/BubbleChartView.swift; sourceTree = ""; }; - 4F7E6A99D82E6AE3804D5A39 /* ILineRadarChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ILineRadarChartDataSet.swift; path = Source/Charts/Data/Interfaces/ILineRadarChartDataSet.swift; sourceTree = ""; }; - 4F9922F0641F7955DC6CD324 /* Charts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Charts.h; path = "Source/Supporting Files/Charts.h"; sourceTree = ""; }; + 4F7E6A99D82E6AE3804D5A39 /* LineRadarChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineRadarChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/LineRadarChartDataSetProtocol.swift; sourceTree = ""; }; + 4F9922F0641F7955DC6CD324 /* DGCharts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DGCharts.h; path = "Source/Supporting Files/DGCharts.h"; sourceTree = ""; }; 5225ABC3C0C2F65FC094EEBB /* XAxis.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XAxis.swift; path = Source/Charts/Components/XAxis.swift; sourceTree = ""; }; 52265C1B343CCC41AF2300E3 /* CombinedChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombinedChartRenderer.swift; path = Source/Charts/Renderers/CombinedChartRenderer.swift; sourceTree = ""; }; 539382766378B702660FDFB2 /* HorizontalBarChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HorizontalBarChartRenderer.swift; path = Source/Charts/Renderers/HorizontalBarChartRenderer.swift; sourceTree = ""; }; 543729805D897CC03E5F78D3 /* BarHighlighter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarHighlighter.swift; path = Source/Charts/Highlight/BarHighlighter.swift; sourceTree = ""; }; 559DB735FEA17AB90676D6CA /* BarLineScatterCandleBubbleChartData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarLineScatterCandleBubbleChartData.swift; path = Source/Charts/Data/Implementations/Standard/BarLineScatterCandleBubbleChartData.swift; sourceTree = ""; }; - 596963A429D485E3894C4666 /* IMarker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IMarker.swift; path = Source/Charts/Components/IMarker.swift; sourceTree = ""; }; + 596963A429D485E3894C4666 /* Marker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Marker.swift; path = Source/Charts/Components/Marker.swift; sourceTree = ""; }; 5983826927D825EF5F855C28 /* ChartHighlighter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartHighlighter.swift; path = Source/Charts/Highlight/ChartHighlighter.swift; sourceTree = ""; }; 5A4CFFFB65819121595F06F1 /* Fill.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Fill.swift; path = Source/Charts/Utils/Fill.swift; sourceTree = ""; }; 5B1C588E9DF6FFD56D7ADF8E /* BarLineScatterCandleBubbleRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarLineScatterCandleBubbleRenderer.swift; path = Source/Charts/Renderers/BarLineScatterCandleBubbleRenderer.swift; sourceTree = ""; }; - 5C3F5E1A69EC06E86505F7B1 /* BarChartTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarChartTests.swift; path = Tests/Charts/BarChartTests.swift; sourceTree = ""; }; + 5C3F5E1A69EC06E86505F7B1 /* BarChartTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BarChartTests.swift; sourceTree = ""; }; 6021C9E424C36116AEA78CC9 /* HorizontalBarChartView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HorizontalBarChartView.swift; path = Source/Charts/Charts/HorizontalBarChartView.swift; sourceTree = ""; }; 62B73FCEDD3841E7B958F6A9 /* ChartDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartDataProvider.swift; path = Source/Charts/Interfaces/ChartDataProvider.swift; sourceTree = ""; }; - 65AD9E95D9ED4DC0BD73A743 /* Charts.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Charts.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 65AD9E95D9ED4DC0BD73A743 /* DGCharts.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DGCharts.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 688B80F1AA88AE54152BE768 /* YAxisRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = YAxisRenderer.swift; path = Source/Charts/Renderers/YAxisRenderer.swift; sourceTree = ""; }; 6A4770E0F75EFFC30707A7C8 /* DefaultAxisValueFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultAxisValueFormatter.swift; path = Source/Charts/Formatters/DefaultAxisValueFormatter.swift; sourceTree = ""; }; 6CEC0C69C89CE9B99F3B4409 /* ChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/ChartDataSet.swift; sourceTree = ""; }; @@ -244,53 +262,58 @@ 710D7C9B2F1DB4A331EE405A /* AnimatedViewPortJob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedViewPortJob.swift; path = Source/Charts/Jobs/AnimatedViewPortJob.swift; sourceTree = ""; }; 72EAEBB7CF73E33565FC2896 /* ViewPortHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ViewPortHandler.swift; path = Source/Charts/Utils/ViewPortHandler.swift; sourceTree = ""; }; 75F279974FE650E57A061B09 /* BarChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarChartRenderer.swift; path = Source/Charts/Renderers/BarChartRenderer.swift; sourceTree = ""; }; - 7A53A9E42FC07FFDACA937C1 /* IBarChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBarChartDataSet.swift; path = Source/Charts/Data/Interfaces/IBarChartDataSet.swift; sourceTree = ""; }; - 7AB9062A28AAB9469752A954 /* ChartUtilsTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartUtilsTests.swift; path = Tests/Charts/ChartUtilsTests.swift; sourceTree = ""; }; + 7A53A9E42FC07FFDACA937C1 /* BarChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/BarChartDataSetProtocol.swift; sourceTree = ""; }; + 7AB9062A28AAB9469752A954 /* ChartUtilsTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ChartUtilsTests.swift; sourceTree = ""; }; 7AC9C3D69ACB5BDE22421E15 /* RadarChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RadarChartRenderer.swift; path = Source/Charts/Renderers/RadarChartRenderer.swift; sourceTree = ""; }; 7EDA3AD550AEFC93C8D15B9C /* BubbleChartData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BubbleChartData.swift; path = Source/Charts/Data/Implementations/Standard/BubbleChartData.swift; sourceTree = ""; }; 80D5B764EC0AE1E17E55DC67 /* ScatterChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScatterChartRenderer.swift; path = Source/Charts/Renderers/ScatterChartRenderer.swift; sourceTree = ""; }; - 818AC6B12505B7C0A53D62F9 /* IFillFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IFillFormatter.swift; path = Source/Charts/Formatters/IFillFormatter.swift; sourceTree = ""; }; + 818AC6B12505B7C0A53D62F9 /* FillFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FillFormatter.swift; path = Source/Charts/Formatters/FillFormatter.swift; sourceTree = ""; }; 823F7DB281C6C6F069A69605 /* CrossShapeRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CrossShapeRenderer.swift; path = Source/Charts/Renderers/Scatter/CrossShapeRenderer.swift; sourceTree = ""; }; 8FF03960A871A092F5B54315 /* BarLineScatterCandleBubbleChartDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarLineScatterCandleBubbleChartDataProvider.swift; path = Source/Charts/Interfaces/BarLineScatterCandleBubbleChartDataProvider.swift; sourceTree = ""; }; 910DBFE1DA1B2CA237A736DF /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Source/Supporting Files/Info.plist"; sourceTree = ""; }; 91EEEDE2AB8F2DA3AFCF0733 /* RadarChartDataEntry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RadarChartDataEntry.swift; path = Source/Charts/Data/Implementations/Standard/RadarChartDataEntry.swift; sourceTree = ""; }; 923206233CA89FD03565FF87 /* LineScatterCandleRadarRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineScatterCandleRadarRenderer.swift; path = Source/Charts/Renderers/LineScatterCandleRadarRenderer.swift; sourceTree = ""; }; - 9249AD9AEC8C85772365A128 /* ILineScatterCandleRadarChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ILineScatterCandleRadarChartDataSet.swift; path = Source/Charts/Data/Interfaces/ILineScatterCandleRadarChartDataSet.swift; sourceTree = ""; }; + 9249AD9AEC8C85772365A128 /* LineScatterCandleRadarChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineScatterCandleRadarChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/LineScatterCandleRadarChartDataSetProtocol.swift; sourceTree = ""; }; 93EF9709CF635BEE70D1ABC5 /* DataApproximator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataApproximator.swift; path = Source/Charts/Filters/DataApproximator.swift; sourceTree = ""; }; - 998F2BFE318471AFC05B50AC /* IHighlighter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IHighlighter.swift; path = Source/Charts/Highlight/IHighlighter.swift; sourceTree = ""; }; + 97AD2D4520AF917100F9C24A /* Platform+Accessibility.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Platform+Accessibility.swift"; path = "Source/Charts/Utils/Platform+Accessibility.swift"; sourceTree = ""; }; 9A26C8DA1F87B01700367599 /* DataApproximator+N.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "DataApproximator+N.swift"; path = "Source/Charts/Filters/DataApproximator+N.swift"; sourceTree = ""; }; 9D7184C8A5A60A3522AB9B05 /* BarChartDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarChartDataProvider.swift; path = Source/Charts/Interfaces/BarChartDataProvider.swift; sourceTree = ""; }; 9DCD13D558BA177D5952AD66 /* PieChartView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PieChartView.swift; path = Source/Charts/Charts/PieChartView.swift; sourceTree = ""; }; 9E7C673B9ED4340F550A9283 /* LegendEntry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LegendEntry.swift; path = Source/Charts/Components/LegendEntry.swift; sourceTree = ""; }; A140F644332704916947B58C /* CombinedChartDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CombinedChartDataProvider.swift; path = Source/Charts/Interfaces/CombinedChartDataProvider.swift; sourceTree = ""; }; A4FB5E3761EF8B4D1E1E1014 /* PieChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PieChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/PieChartDataSet.swift; sourceTree = ""; }; - A5649B272BF3EBFC8A1EF0C1 /* IBarLineScatterCandleBubbleChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBarLineScatterCandleBubbleChartDataSet.swift; path = Source/Charts/Data/Interfaces/IBarLineScatterCandleBubbleChartDataSet.swift; sourceTree = ""; }; + A5649B272BF3EBFC8A1EF0C1 /* BarLineScatterCandleBubbleChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarLineScatterCandleBubbleChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/BarLineScatterCandleBubbleChartDataSetProtocol.swift; sourceTree = ""; }; A5A75AA73C5AA381DA517959 /* LineChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/LineChartDataSet.swift; sourceTree = ""; }; AA5A16F4A382813C4FE8BDF9 /* YAxisRendererRadarChart.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = YAxisRendererRadarChart.swift; path = Source/Charts/Renderers/YAxisRendererRadarChart.swift; sourceTree = ""; }; AA70259ED16FF80D8EEB0F94 /* ChevronUpShapeRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChevronUpShapeRenderer.swift; path = Source/Charts/Renderers/Scatter/ChevronUpShapeRenderer.swift; sourceTree = ""; }; B137428B41C143D5115726C4 /* Description.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Description.swift; path = Source/Charts/Components/Description.swift; sourceTree = ""; }; B1BA6B21CBDF77A15848994F /* RadarChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RadarChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/RadarChartDataSet.swift; sourceTree = ""; }; B44829AF0ADA583F1F0279B7 /* BubbleChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BubbleChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/BubbleChartDataSet.swift; sourceTree = ""; }; - B6BF9A551F91993A00E62A5D /* CombinedChartTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CombinedChartTests.swift; path = Tests/Charts/CombinedChartTests.swift; sourceTree = ""; }; + B66817452241E3CC00017CF1 /* HorizontalBarChartTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HorizontalBarChartTests.swift; sourceTree = ""; }; + B6BF9A551F91993A00E62A5D /* CombinedChartTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CombinedChartTests.swift; sourceTree = ""; }; BA157EFF2F952192C11DF937 /* AnimatedMoveViewJob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnimatedMoveViewJob.swift; path = Source/Charts/Jobs/AnimatedMoveViewJob.swift; sourceTree = ""; }; BA1A58428DC4780BAB4EAADC /* CandleStickChartView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CandleStickChartView.swift; path = Source/Charts/Charts/CandleStickChartView.swift; sourceTree = ""; }; BC19DC2434D65FFB446A61B7 /* XAxisRendererRadarChart.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XAxisRendererRadarChart.swift; path = Source/Charts/Renderers/XAxisRendererRadarChart.swift; sourceTree = ""; }; BD02157CF8CEE1189BF681DA /* PieChartDataEntry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PieChartDataEntry.swift; path = Source/Charts/Data/Implementations/Standard/PieChartDataEntry.swift; sourceTree = ""; }; BD5C6D20243EC2F19069AACD /* CandleStickChartRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CandleStickChartRenderer.swift; path = Source/Charts/Renderers/CandleStickChartRenderer.swift; sourceTree = ""; }; BFABD027DAF6851088F002AC /* LineChartDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineChartDataProvider.swift; path = Source/Charts/Interfaces/LineChartDataProvider.swift; sourceTree = ""; }; + C03E6D8023DAAB2600083010 /* ChartDataTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChartDataTests.swift; sourceTree = ""; }; C31AA65EA27776F8C653C7E8 /* BarChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BarChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/BarChartDataSet.swift; sourceTree = ""; }; C52E8344160B5E689DA3C25C /* ChevronDownShapeRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChevronDownShapeRenderer.swift; path = Source/Charts/Renderers/Scatter/ChevronDownShapeRenderer.swift; sourceTree = ""; }; - C574E1BC7E12D937A5471EF8 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Tests/Supporting Files/Info.plist"; sourceTree = ""; }; C58BD7B14BEA440783ED8D2B /* LineScatterCandleRadarChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineScatterCandleRadarChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/LineScatterCandleRadarChartDataSet.swift; sourceTree = ""; }; - C75935E899183DDFA181E2CC /* AxisRendererBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AxisRendererBase.swift; path = Source/Charts/Renderers/AxisRendererBase.swift; sourceTree = ""; }; + C75935E899183DDFA181E2CC /* AxisRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AxisRenderer.swift; path = Source/Charts/Renderers/AxisRenderer.swift; sourceTree = ""; }; C8C9A105A7DB64F39DDA648B /* ComponentBase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ComponentBase.swift; path = Source/Charts/Components/ComponentBase.swift; sourceTree = ""; }; C8FB6219B143F8F7DA762950 /* TriangleShapeRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TriangleShapeRenderer.swift; path = Source/Charts/Renderers/Scatter/TriangleShapeRenderer.swift; sourceTree = ""; }; + C9AA36092355F01F00C97D93 /* Platform+Color.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Platform+Color.swift"; path = "Source/Charts/Utils/Platform+Color.swift"; sourceTree = ""; }; + C9F3DC242355F791000C3215 /* Platform+Graphics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Platform+Graphics.swift"; path = "Source/Charts/Utils/Platform+Graphics.swift"; sourceTree = ""; }; + C9F3DC252355F791000C3215 /* Platform+Gestures.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Platform+Gestures.swift"; path = "Source/Charts/Utils/Platform+Gestures.swift"; sourceTree = ""; }; + C9F3DC282355FA2F000C3215 /* Platform+Touch Handling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "Platform+Touch Handling.swift"; path = "Source/Charts/Utils/Platform+Touch Handling.swift"; sourceTree = ""; }; C9FE42E868A225C116537368 /* ChartBaseDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartBaseDataSet.swift; path = Source/Charts/Data/Implementations/ChartBaseDataSet.swift; sourceTree = ""; }; CB1DD1A0F64266A10EE94194 /* ScatterChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ScatterChartDataSet.swift; path = Source/Charts/Data/Implementations/Standard/ScatterChartDataSet.swift; sourceTree = ""; }; - D2E1819D72CD7B6C4A4E8048 /* LineChartTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LineChartTests.swift; path = Tests/Charts/LineChartTests.swift; sourceTree = ""; }; + D2E1819D72CD7B6C4A4E8048 /* LineChartTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LineChartTests.swift; sourceTree = ""; }; D2E698FF540029B70AC97AD7 /* CandleChartDataEntry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CandleChartDataEntry.swift; path = Source/Charts/Data/Implementations/Standard/CandleChartDataEntry.swift; sourceTree = ""; }; D6C1BEFDF17404666C7B6054 /* DefaultFillFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultFillFormatter.swift; path = Source/Charts/Formatters/DefaultFillFormatter.swift; sourceTree = ""; }; - DA2AA6CC89F809DCCD7605B4 /* IPieChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IPieChartDataSet.swift; path = Source/Charts/Data/Interfaces/IPieChartDataSet.swift; sourceTree = ""; }; + DA2AA6CC89F809DCCD7605B4 /* PieChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PieChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/PieChartDataSetProtocol.swift; sourceTree = ""; }; DD8ED233775EEC31243A6919 /* BubbleChartDataEntry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BubbleChartDataEntry.swift; path = Source/Charts/Data/Implementations/Standard/BubbleChartDataEntry.swift; sourceTree = ""; }; DFB762958EE8E6521563665D /* ChartAnimationEasing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartAnimationEasing.swift; path = Source/Charts/Animation/ChartAnimationEasing.swift; sourceTree = ""; }; E120E76C6F1B5877D56126DD /* ChartData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartData.swift; path = Source/Charts/Data/Implementations/Standard/ChartData.swift; sourceTree = ""; }; @@ -303,12 +326,12 @@ EDEAF554FD0D68EA4C0E7E49 /* BubbleChartDataProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BubbleChartDataProvider.swift; path = Source/Charts/Interfaces/BubbleChartDataProvider.swift; sourceTree = ""; }; F22750328058DEC2F019646F /* ChartDataEntry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartDataEntry.swift; path = Source/Charts/Data/Implementations/Standard/ChartDataEntry.swift; sourceTree = ""; }; F368CF209744D8F3B85B1028 /* RadarHighlighter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RadarHighlighter.swift; path = Source/Charts/Highlight/RadarHighlighter.swift; sourceTree = ""; }; - F3788EC55EF908B0805D7C2F /* IBubbleChartDataSet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBubbleChartDataSet.swift; path = Source/Charts/Data/Interfaces/IBubbleChartDataSet.swift; sourceTree = ""; }; + F3788EC55EF908B0805D7C2F /* BubbleChartDataSetProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BubbleChartDataSetProtocol.swift; path = Source/Charts/Data/Interfaces/BubbleChartDataSetProtocol.swift; sourceTree = ""; }; F4785FEACAE4367F36FB8868 /* CandleChartData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CandleChartData.swift; path = Source/Charts/Data/Implementations/Standard/CandleChartData.swift; sourceTree = ""; }; F6227A646166E248F90F86AD /* ChartColorTemplates.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartColorTemplates.swift; path = Source/Charts/Utils/ChartColorTemplates.swift; sourceTree = ""; }; F6DEBFAB1D73E944ED430B4F /* ChartLimitLine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChartLimitLine.swift; path = Source/Charts/Components/ChartLimitLine.swift; sourceTree = ""; }; F715DB2C56C9E0615542625B /* LegendRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LegendRenderer.swift; path = Source/Charts/Renderers/LegendRenderer.swift; sourceTree = ""; }; - FA1D3D13180C2E3893A82546 /* IShapeRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IShapeRenderer.swift; path = Source/Charts/Renderers/Scatter/IShapeRenderer.swift; sourceTree = ""; }; + FA1D3D13180C2E3893A82546 /* ShapeRenderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShapeRenderer.swift; path = Source/Charts/Renderers/Scatter/ShapeRenderer.swift; sourceTree = ""; }; FA7BDB22C97F39A4B33E38A7 /* ViewPortJob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ViewPortJob.swift; path = Source/Charts/Jobs/ViewPortJob.swift; sourceTree = ""; }; FB3A4F5987E58F3E5BE855F9 /* ZoomViewJob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZoomViewJob.swift; path = Source/Charts/Jobs/ZoomViewJob.swift; sourceTree = ""; }; FB92A80F861C1362EED8D946 /* YAxis.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = YAxis.swift; path = Source/Charts/Components/YAxis.swift; sourceTree = ""; }; @@ -320,7 +343,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C7B150D740255670DEB9F455 /* Charts.framework in Frameworks */, + C7B150D740255670DEB9F455 /* DGCharts.framework in Frameworks */, + 22BBDA0825CC4C2F00435670 /* SnapshotTesting in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -334,7 +358,7 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 031D7C33F3BF172E30664862 /* Interfaces */ = { + 031D7C33F3BF172E30664862 /* DataProviders */ = { isa = PBXGroup; children = ( 9D7184C8A5A60A3522AB9B05 /* BarChartDataProvider.swift */, @@ -346,7 +370,7 @@ BFABD027DAF6851088F002AC /* LineChartDataProvider.swift */, 2FD37A55B4D85D883E29C744 /* ScatterChartDataProvider.swift */, ); - name = Interfaces; + name = DataProviders; sourceTree = ""; }; 033FD152BB2F906750106A85 /* Frameworks */ = { @@ -359,8 +383,10 @@ 098621EDFBF928494B94BEA1 /* Data */ = { isa = PBXGroup; children = ( - 3B9DD76FCE8D873300A822C7 /* Implementations */, - DB2D9648877455028EBEAA8F /* Interfaces */, + 22C014222006FFE800D5B025 /* ChartData */, + 3B9DD76FCE8D873300A822C7 /* ChartDataSet */, + 22C014232006FFFA00D5B025 /* ChartEntry */, + DB2D9648877455028EBEAA8F /* DataSet Protocols */, ); name = Data; sourceTree = ""; @@ -374,6 +400,80 @@ name = Source; sourceTree = ""; }; + 2227EA571FF1F219007D98D9 /* AxisRenderers */ = { + isa = PBXGroup; + children = ( + C75935E899183DDFA181E2CC /* AxisRenderer.swift */, + 1C02C3AF5C92FCFC18224C35 /* XAxisRenderer.swift */, + 1F3D55A7E6176D52DC957D27 /* XAxisRendererHorizontalBarChart.swift */, + BC19DC2434D65FFB446A61B7 /* XAxisRendererRadarChart.swift */, + 688B80F1AA88AE54152BE768 /* YAxisRenderer.swift */, + EAE417AAA0FCA0DD00E77489 /* YAxisRendererHorizontalBarChart.swift */, + AA5A16F4A382813C4FE8BDF9 /* YAxisRendererRadarChart.swift */, + ); + name = AxisRenderers; + sourceTree = ""; + }; + 2227EA581FF1F224007D98D9 /* ChartRenderers */ = { + isa = PBXGroup; + children = ( + 0216EDC6A1FE272F4EB19FCF /* DataRenderer.swift */, + 75F279974FE650E57A061B09 /* BarChartRenderer.swift */, + 5B1C588E9DF6FFD56D7ADF8E /* BarLineScatterCandleBubbleRenderer.swift */, + 2194AA554712E6BA2677F114 /* BubbleChartRenderer.swift */, + BD5C6D20243EC2F19069AACD /* CandleStickChartRenderer.swift */, + 52265C1B343CCC41AF2300E3 /* CombinedChartRenderer.swift */, + 539382766378B702660FDFB2 /* HorizontalBarChartRenderer.swift */, + 0DABDBBCCE6B3620C967F04A /* LineChartRenderer.swift */, + 105FFC9D3773A9C7A60A897F /* LineRadarRenderer.swift */, + 923206233CA89FD03565FF87 /* LineScatterCandleRadarRenderer.swift */, + 46D8013D44629521B1746364 /* PieChartRenderer.swift */, + 7AC9C3D69ACB5BDE22421E15 /* RadarChartRenderer.swift */, + 80D5B764EC0AE1E17E55DC67 /* ScatterChartRenderer.swift */, + ); + name = ChartRenderers; + sourceTree = ""; + }; + 22786E8225CD96620051335B /* Resources */ = { + isa = PBXGroup; + children = ( + 22786E8325CD96620051335B /* Media.xcassets */, + 22786E8425CD96620051335B /* Info.plist */, + ); + path = Resources; + sourceTree = ""; + }; + 22C014222006FFE800D5B025 /* ChartData */ = { + isa = PBXGroup; + children = ( + 0108D5925E21A47DA36A66AA /* BarChartData.swift */, + 559DB735FEA17AB90676D6CA /* BarLineScatterCandleBubbleChartData.swift */, + 7EDA3AD550AEFC93C8D15B9C /* BubbleChartData.swift */, + F4785FEACAE4367F36FB8868 /* CandleChartData.swift */, + E120E76C6F1B5877D56126DD /* ChartData.swift */, + 0DDE409E9ECF54D2C146A6F0 /* CombinedChartData.swift */, + 4C978F31F23C7D21197DC2A1 /* LineChartData.swift */, + 6E03A4987F72414A02A0631B /* PieChartData.swift */, + 4BBB57D6FA41029B08F26D7B /* RadarChartData.swift */, + E7AD2FC320A16CA1EE0A52F4 /* ScatterChartData.swift */, + ); + name = ChartData; + sourceTree = ""; + }; + 22C014232006FFFA00D5B025 /* ChartEntry */ = { + isa = PBXGroup; + children = ( + E3F8BFF1CBC58D5B9DBFFB9B /* BarChartDataEntry.swift */, + DD8ED233775EEC31243A6919 /* BubbleChartDataEntry.swift */, + D2E698FF540029B70AC97AD7 /* CandleChartDataEntry.swift */, + F22750328058DEC2F019646F /* ChartDataEntry.swift */, + 12409C3EA15787C11AF0D2BC /* ChartDataEntryBase.swift */, + BD02157CF8CEE1189BF681DA /* PieChartDataEntry.swift */, + 91EEEDE2AB8F2DA3AFCF0733 /* RadarChartDataEntry.swift */, + ); + name = ChartEntry; + sourceTree = ""; + }; 2647844720BC6574A544A337 /* Charts */ = { isa = PBXGroup; children = ( @@ -384,32 +484,43 @@ AA79AB82B0ADCA926510B73E /* Filters */, 74A391010038924F637D6752 /* Formatters */, 42824E1F334B0C484AF4C594 /* Highlight */, - 031D7C33F3BF172E30664862 /* Interfaces */, + 031D7C33F3BF172E30664862 /* DataProviders */, AD1224C45A29A5C88D6B7450 /* Jobs */, E7589D3E7C2BD2449960AD59 /* Renderers */, D047819AB7170595896D6FE8 /* Utils */, + 3959DF712B4BD33000A20423 /* PrivacyInfo.xcprivacy */, ); name = Charts; sourceTree = ""; }; - 3B9DD76FCE8D873300A822C7 /* Implementations */ = { + 3B9DD76FCE8D873300A822C7 /* ChartDataSet */ = { isa = PBXGroup; children = ( C9FE42E868A225C116537368 /* ChartBaseDataSet.swift */, - 740017197A160047EBB8A9A0 /* Standard */, + C31AA65EA27776F8C653C7E8 /* BarChartDataSet.swift */, + 6D717F0808DE7EC8A4AE9C2A /* BarLineScatterCandleBubbleChartDataSet.swift */, + B44829AF0ADA583F1F0279B7 /* BubbleChartDataSet.swift */, + 274116834B1B0345D622E027 /* CandleChartDataSet.swift */, + 6CEC0C69C89CE9B99F3B4409 /* ChartDataSet.swift */, + A5A75AA73C5AA381DA517959 /* LineChartDataSet.swift */, + 45E31A4356CC6F283C29954B /* LineRadarChartDataSet.swift */, + C58BD7B14BEA440783ED8D2B /* LineScatterCandleRadarChartDataSet.swift */, + A4FB5E3761EF8B4D1E1E1014 /* PieChartDataSet.swift */, + B1BA6B21CBDF77A15848994F /* RadarChartDataSet.swift */, + CB1DD1A0F64266A10EE94194 /* ScatterChartDataSet.swift */, ); - name = Implementations; + name = ChartDataSet; sourceTree = ""; }; 42824E1F334B0C484AF4C594 /* Highlight */ = { isa = PBXGroup; children = ( + 06AB297E20FA726500BAD505 /* Highlighter.swift */, 543729805D897CC03E5F78D3 /* BarHighlighter.swift */, 5983826927D825EF5F855C28 /* ChartHighlighter.swift */, 2465CB73738EBAFB46C57288 /* CombinedHighlighter.swift */, 3D64616883374310C505EC39 /* Highlight.swift */, 33BE9A97FFA41D3D85CAFFC7 /* HorizontalBarHighlighter.swift */, - 998F2BFE318471AFC05B50AC /* IHighlighter.swift */, 7036F11832C017E26AC750A4 /* PieHighlighter.swift */, 04F7B9DF1F2D66E7279771D4 /* PieRadarHighlighter.swift */, F368CF209744D8F3B85B1028 /* RadarHighlighter.swift */, @@ -425,7 +536,7 @@ F6DEBFAB1D73E944ED430B4F /* ChartLimitLine.swift */, C8C9A105A7DB64F39DDA648B /* ComponentBase.swift */, B137428B41C143D5115726C4 /* Description.swift */, - 596963A429D485E3894C4666 /* IMarker.swift */, + 596963A429D485E3894C4666 /* Marker.swift */, E64A75540C627E09080B402A /* Legend.swift */, 9E7C673B9ED4340F550A9283 /* LegendEntry.swift */, 392AAEB02DD7B351D92907C2 /* MarkerImage.swift */, @@ -436,51 +547,16 @@ name = Components; sourceTree = ""; }; - 740017197A160047EBB8A9A0 /* Standard */ = { - isa = PBXGroup; - children = ( - 0108D5925E21A47DA36A66AA /* BarChartData.swift */, - E3F8BFF1CBC58D5B9DBFFB9B /* BarChartDataEntry.swift */, - C31AA65EA27776F8C653C7E8 /* BarChartDataSet.swift */, - 559DB735FEA17AB90676D6CA /* BarLineScatterCandleBubbleChartData.swift */, - 6D717F0808DE7EC8A4AE9C2A /* BarLineScatterCandleBubbleChartDataSet.swift */, - 7EDA3AD550AEFC93C8D15B9C /* BubbleChartData.swift */, - DD8ED233775EEC31243A6919 /* BubbleChartDataEntry.swift */, - B44829AF0ADA583F1F0279B7 /* BubbleChartDataSet.swift */, - F4785FEACAE4367F36FB8868 /* CandleChartData.swift */, - D2E698FF540029B70AC97AD7 /* CandleChartDataEntry.swift */, - 274116834B1B0345D622E027 /* CandleChartDataSet.swift */, - E120E76C6F1B5877D56126DD /* ChartData.swift */, - F22750328058DEC2F019646F /* ChartDataEntry.swift */, - 12409C3EA15787C11AF0D2BC /* ChartDataEntryBase.swift */, - 6CEC0C69C89CE9B99F3B4409 /* ChartDataSet.swift */, - 0DDE409E9ECF54D2C146A6F0 /* CombinedChartData.swift */, - 4C978F31F23C7D21197DC2A1 /* LineChartData.swift */, - A5A75AA73C5AA381DA517959 /* LineChartDataSet.swift */, - 45E31A4356CC6F283C29954B /* LineRadarChartDataSet.swift */, - C58BD7B14BEA440783ED8D2B /* LineScatterCandleRadarChartDataSet.swift */, - 6E03A4987F72414A02A0631B /* PieChartData.swift */, - BD02157CF8CEE1189BF681DA /* PieChartDataEntry.swift */, - A4FB5E3761EF8B4D1E1E1014 /* PieChartDataSet.swift */, - 4BBB57D6FA41029B08F26D7B /* RadarChartData.swift */, - 91EEEDE2AB8F2DA3AFCF0733 /* RadarChartDataEntry.swift */, - B1BA6B21CBDF77A15848994F /* RadarChartDataSet.swift */, - E7AD2FC320A16CA1EE0A52F4 /* ScatterChartData.swift */, - CB1DD1A0F64266A10EE94194 /* ScatterChartDataSet.swift */, - ); - name = Standard; - sourceTree = ""; - }; 74A391010038924F637D6752 /* Formatters */ = { isa = PBXGroup; children = ( 6A4770E0F75EFFC30707A7C8 /* DefaultAxisValueFormatter.swift */, D6C1BEFDF17404666C7B6054 /* DefaultFillFormatter.swift */, 107D8F8163EE54D6D9E916B0 /* DefaultValueFormatter.swift */, - 0BD9DF16AF59680A3BB49452 /* IAxisValueFormatter.swift */, - 818AC6B12505B7C0A53D62F9 /* IFillFormatter.swift */, + 0BD9DF16AF59680A3BB49452 /* AxisValueFormatter.swift */, + 818AC6B12505B7C0A53D62F9 /* FillFormatter.swift */, 10DD0A02E3CF611BD11EBA9B /* IndexAxisValueFormatter.swift */, - 4EAA8AA30C377D54D22A577A /* IValueFormatter.swift */, + 4EAA8AA30C377D54D22A577A /* ValueFormatter.swift */, ); name = Formatters; sourceTree = ""; @@ -517,15 +593,19 @@ 9613A7C800C7F065A823D587 /* Charts */ = { isa = PBXGroup; children = ( + 22786E8225CD96620051335B /* Resources */, 5C3F5E1A69EC06E86505F7B1 /* BarChartTests.swift */, - 224EFF981FBAAC4700CF9B3B /* EquatableTests.swift */, + B66817452241E3CC00017CF1 /* HorizontalBarChartTests.swift */, 7AB9062A28AAB9469752A954 /* ChartUtilsTests.swift */, + 2243BBFB1FF156D000B49D0B /* EquatableTests.swift */, B6BF9A551F91993A00E62A5D /* CombinedChartTests.swift */, D2E1819D72CD7B6C4A4E8048 /* LineChartTests.swift */, 135F11CD20425AF600D655A3 /* PieChartTests.swift */, - 064989451F5C99C7006E8BB3 /* Snapshot.swift */, + 064989451F5C99C7006E8BB3 /* Utilities.swift */, + C03E6D8023DAAB2600083010 /* ChartDataTests.swift */, ); name = Charts; + path = Tests/ChartsTests; sourceTree = ""; }; A49C1F0F9CCD6E5C143C29F4 /* Animation */ = { @@ -549,8 +629,8 @@ AB2D554102718F209377399E /* Products */ = { isa = PBXGroup; children = ( - 65AD9E95D9ED4DC0BD73A743 /* Charts.framework */, - 1CBBC58C6CE1EBEE9852CE41 /* ChartsTests.xctest */, + 65AD9E95D9ED4DC0BD73A743 /* DGCharts.framework */, + 1CBBC58C6CE1EBEE9852CE41 /* DGChartsTests.xctest */, ); name = Products; sourceTree = ""; @@ -568,22 +648,21 @@ name = Jobs; sourceTree = ""; }; - BF662941E21BC049994B2598 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - C574E1BC7E12D937A5471EF8 /* Info.plist */, - 41DDB768A1D033A34F0EF9E0 /* Media.xcassets */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; D047819AB7170595896D6FE8 /* Utils */ = { isa = PBXGroup; children = ( + 067934542A324A9D004BFBA9 /* Indexed.swift */, + 067934552A324A9D004BFBA9 /* Partition.swift */, F6227A646166E248F90F86AD /* ChartColorTemplates.swift */, 3FDA09EF973925A110506799 /* ChartUtils.swift */, 5A4CFFFB65819121595F06F1 /* Fill.swift */, 3ED23C354AFE81818D78E645 /* Platform.swift */, + 97AD2D4520AF917100F9C24A /* Platform+Accessibility.swift */, + C9AA36092355F01F00C97D93 /* Platform+Color.swift */, + C9F3DC252355F791000C3215 /* Platform+Gestures.swift */, + C9F3DC242355F791000C3215 /* Platform+Graphics.swift */, + C9F3DC282355FA2F000C3215 /* Platform+Touch Handling.swift */, + 221CA2912588FCBC00C2DD1E /* Sequence+KeyPath.swift */, FF475B9593B9898853814340 /* Transformer.swift */, 324C9127B53A8D39C8B49277 /* TransformerHorizontalBarChart.swift */, 72EAEBB7CF73E33565FC2896 /* ViewPortHandler.swift */, @@ -594,56 +673,37 @@ D2C26AC015E753014C7571E4 /* Tests */ = { isa = PBXGroup; children = ( - BF662941E21BC049994B2598 /* Supporting Files */, 9613A7C800C7F065A823D587 /* Charts */, ); name = Tests; sourceTree = ""; }; - DB2D9648877455028EBEAA8F /* Interfaces */ = { + DB2D9648877455028EBEAA8F /* DataSet Protocols */ = { isa = PBXGroup; children = ( - 7A53A9E42FC07FFDACA937C1 /* IBarChartDataSet.swift */, - A5649B272BF3EBFC8A1EF0C1 /* IBarLineScatterCandleBubbleChartDataSet.swift */, - F3788EC55EF908B0805D7C2F /* IBubbleChartDataSet.swift */, - 18BFB0A14A5C47A302A597D9 /* ICandleChartDataSet.swift */, - 3A32510073A303CBB38E094A /* IChartDataSet.swift */, - 429E88F2729735DC092EE556 /* ILineChartDataSet.swift */, - 4F7E6A99D82E6AE3804D5A39 /* ILineRadarChartDataSet.swift */, - 9249AD9AEC8C85772365A128 /* ILineScatterCandleRadarChartDataSet.swift */, - DA2AA6CC89F809DCCD7605B4 /* IPieChartDataSet.swift */, - 2EAD807534620E3B53327F04 /* IRadarChartDataSet.swift */, - 219BC9CEA037F897E92E45D1 /* IScatterChartDataSet.swift */, + 7A53A9E42FC07FFDACA937C1 /* BarChartDataSetProtocol.swift */, + A5649B272BF3EBFC8A1EF0C1 /* BarLineScatterCandleBubbleChartDataSetProtocol.swift */, + F3788EC55EF908B0805D7C2F /* BubbleChartDataSetProtocol.swift */, + 18BFB0A14A5C47A302A597D9 /* CandleChartDataSetProtocol.swift */, + 3A32510073A303CBB38E094A /* ChartDataSetProtocol.swift */, + 429E88F2729735DC092EE556 /* LineChartDataSetProtocol.swift */, + 4F7E6A99D82E6AE3804D5A39 /* LineRadarChartDataSetProtocol.swift */, + 9249AD9AEC8C85772365A128 /* LineScatterCandleRadarChartDataSetProtocol.swift */, + DA2AA6CC89F809DCCD7605B4 /* PieChartDataSetProtocol.swift */, + 2EAD807534620E3B53327F04 /* RadarChartDataSetProtocol.swift */, + 219BC9CEA037F897E92E45D1 /* ScatterChartDataSetProtocol.swift */, ); - name = Interfaces; + name = "DataSet Protocols"; sourceTree = ""; }; E7589D3E7C2BD2449960AD59 /* Renderers */ = { isa = PBXGroup; children = ( - C75935E899183DDFA181E2CC /* AxisRendererBase.swift */, - 75F279974FE650E57A061B09 /* BarChartRenderer.swift */, - 5B1C588E9DF6FFD56D7ADF8E /* BarLineScatterCandleBubbleRenderer.swift */, - 2194AA554712E6BA2677F114 /* BubbleChartRenderer.swift */, - BD5C6D20243EC2F19069AACD /* CandleStickChartRenderer.swift */, - 0216EDC6A1FE272F4EB19FCF /* ChartDataRendererBase.swift */, - 52265C1B343CCC41AF2300E3 /* CombinedChartRenderer.swift */, - 539382766378B702660FDFB2 /* HorizontalBarChartRenderer.swift */, F715DB2C56C9E0615542625B /* LegendRenderer.swift */, - 0DABDBBCCE6B3620C967F04A /* LineChartRenderer.swift */, - 105FFC9D3773A9C7A60A897F /* LineRadarRenderer.swift */, - 923206233CA89FD03565FF87 /* LineScatterCandleRadarRenderer.swift */, - 46D8013D44629521B1746364 /* PieChartRenderer.swift */, - 7AC9C3D69ACB5BDE22421E15 /* RadarChartRenderer.swift */, 6F66B32AD8A878CBD6DB6ED2 /* Renderer.swift */, - F7059584CB30EF419CFB3335 /* Scatter */, - 80D5B764EC0AE1E17E55DC67 /* ScatterChartRenderer.swift */, - 1C02C3AF5C92FCFC18224C35 /* XAxisRenderer.swift */, - 1F3D55A7E6176D52DC957D27 /* XAxisRendererHorizontalBarChart.swift */, - BC19DC2434D65FFB446A61B7 /* XAxisRendererRadarChart.swift */, - 688B80F1AA88AE54152BE768 /* YAxisRenderer.swift */, - EAE417AAA0FCA0DD00E77489 /* YAxisRendererHorizontalBarChart.swift */, - AA5A16F4A382813C4FE8BDF9 /* YAxisRendererRadarChart.swift */, + 2227EA571FF1F219007D98D9 /* AxisRenderers */, + 2227EA581FF1F224007D98D9 /* ChartRenderers */, + F7059584CB30EF419CFB3335 /* ShapeRenderer */, ); name = Renderers; sourceTree = ""; @@ -652,24 +712,24 @@ isa = PBXGroup; children = ( 910DBFE1DA1B2CA237A736DF /* Info.plist */, - 4F9922F0641F7955DC6CD324 /* Charts.h */, + 4F9922F0641F7955DC6CD324 /* DGCharts.h */, ); name = "Supporting Files"; sourceTree = ""; }; - F7059584CB30EF419CFB3335 /* Scatter */ = { + F7059584CB30EF419CFB3335 /* ShapeRenderer */ = { isa = PBXGroup; children = ( C52E8344160B5E689DA3C25C /* ChevronDownShapeRenderer.swift */, AA70259ED16FF80D8EEB0F94 /* ChevronUpShapeRenderer.swift */, ECE1B1623D3AF69CECAE8562 /* CircleShapeRenderer.swift */, 823F7DB281C6C6F069A69605 /* CrossShapeRenderer.swift */, - FA1D3D13180C2E3893A82546 /* IShapeRenderer.swift */, + FA1D3D13180C2E3893A82546 /* ShapeRenderer.swift */, 32FC01A016DFF1BA73AF9182 /* SquareShapeRenderer.swift */, C8FB6219B143F8F7DA762950 /* TriangleShapeRenderer.swift */, 23D35CF6F9177D77B6B97AE1 /* XShapeRenderer.swift */, ); - name = Scatter; + name = ShapeRenderer; sourceTree = ""; }; /* End PBXGroup section */ @@ -679,16 +739,16 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BEFD9518F3A74ACF8FA33308 /* Charts.h in Headers */, + BEFD9518F3A74ACF8FA33308 /* DGCharts.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - A58A4ED274A941CA248EA921 /* Charts */ = { + A58A4ED274A941CA248EA921 /* DGCharts */ = { isa = PBXNativeTarget; - buildConfigurationList = F1D4AA9E26EA32041FC0E3B6 /* Build configuration list for PBXNativeTarget "Charts" */; + buildConfigurationList = F1D4AA9E26EA32041FC0E3B6 /* Build configuration list for PBXNativeTarget "DGCharts" */; buildPhases = ( B2B2DD73E237562739EE1F83 /* Headers */, B5996DB2D9B6F0DB0E9D3F3E /* Sources */, @@ -699,29 +759,32 @@ ); dependencies = ( ); - name = Charts; + name = DGCharts; + packageProductDependencies = ( + ); productName = Charts; - productReference = 65AD9E95D9ED4DC0BD73A743 /* Charts.framework */; + productReference = 65AD9E95D9ED4DC0BD73A743 /* DGCharts.framework */; productType = "com.apple.product-type.framework"; }; - F2749BD5443C1CB5FE2080C2 /* ChartsTests */ = { + F2749BD5443C1CB5FE2080C2 /* DGChartsTests */ = { isa = PBXNativeTarget; - buildConfigurationList = E61E9728E2BF9CC4048B13D5 /* Build configuration list for PBXNativeTarget "ChartsTests" */; + buildConfigurationList = E61E9728E2BF9CC4048B13D5 /* Build configuration list for PBXNativeTarget "DGChartsTests" */; buildPhases = ( - D6BF00523905132F162A7710 /* Build Dependencies */, E356A2384A2368AB3D2C7912 /* Sources */, 5B102E31AA8399941CC6248D /* Resources */, 77997192275C47C45A0A2E9A /* Frameworks */, - 6BA68666BDA3FCF79C2A6801 /* Copy Carthage Frameworks */, ); buildRules = ( ); dependencies = ( 8676F8A013D87F9961E92465 /* PBXTargetDependency */, ); - name = ChartsTests; + name = DGChartsTests; + packageProductDependencies = ( + 22BBDA0725CC4C2F00435670 /* SnapshotTesting */, + ); productName = ChartsTests; - productReference = 1CBBC58C6CE1EBEE9852CE41 /* ChartsTests.xctest */; + productReference = 1CBBC58C6CE1EBEE9852CE41 /* DGChartsTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -730,11 +793,12 @@ 193FC8DF32D250560C5F5D77 /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1430; TargetAttributes = { A58A4ED274A941CA248EA921 = { - LastSwiftMigration = 0900; + LastSwiftMigration = 1150; }; F2749BD5443C1CB5FE2080C2 = { LastSwiftMigration = 0900; @@ -743,18 +807,22 @@ }; buildConfigurationList = 493FF4FB1D40FC7C51DDDA6B /* Build configuration list for PBXProject "Charts" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = 865A1CF149F52850CAB7F177; + packageReferences = ( + 22BBDA0625CC4C2F00435670 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */, + ); productRefGroup = AB2D554102718F209377399E /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - A58A4ED274A941CA248EA921 /* Charts */, - F2749BD5443C1CB5FE2080C2 /* ChartsTests */, + A58A4ED274A941CA248EA921 /* DGCharts */, + F2749BD5443C1CB5FE2080C2 /* DGChartsTests */, ); }; /* End PBXProject section */ @@ -764,7 +832,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 00B8BF5901C2D220357B0B2A /* Media.xcassets in Resources */, + 22786E8525CD96620051335B /* Media.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -772,41 +840,12 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 39279C482B6B643600204A3D /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 6BA68666BDA3FCF79C2A6801 /* Copy Carthage Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - FBSnapshotTestCase.framework, - ); - name = "Copy Carthage Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = " exec \"${SRCROOT}/scripts/copy-carthage-frameworks.sh\""; - }; - D6BF00523905132F162A7710 /* Build Dependencies */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "Build Dependencies"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "exec \"${SRCROOT}/scripts/build-dependencies.sh\""; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ B5996DB2D9B6F0DB0E9D3F3E /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -830,8 +869,10 @@ 4390D74986A92DEF4F4F2BF0 /* ChartLimitLine.swift in Sources */, FDBDAFA7A5337C6E3992DACE /* ComponentBase.swift in Sources */, DBC9DB402CC9BB84B76968C4 /* Description.swift in Sources */, - 03960E8148C6AEDACE4B77CC /* IMarker.swift in Sources */, + 03960E8148C6AEDACE4B77CC /* Marker.swift in Sources */, ECE7EAE7179A7F57CE9BBD8F /* Legend.swift in Sources */, + 067934572A324A9D004BFBA9 /* Partition.swift in Sources */, + C9F3DC272355F791000C3215 /* Platform+Gestures.swift in Sources */, C20A62D8CB9120523D5FB650 /* LegendEntry.swift in Sources */, 369DEB23452CB436A3A1A644 /* MarkerImage.swift in Sources */, 9360348A04723E653FBC8B18 /* MarkerView.swift in Sources */, @@ -841,6 +882,7 @@ 3395682A1E27756651FF6F4D /* BarChartData.swift in Sources */, 45C459FA25DFCBE62FA6A06C /* BarChartDataEntry.swift in Sources */, 17E994DA88777AA1D8CCFC58 /* BarChartDataSet.swift in Sources */, + C9AA360A2355F01F00C97D93 /* Platform+Color.swift in Sources */, 7C9CE6718D18859A35146098 /* BarLineScatterCandleBubbleChartData.swift in Sources */, 53A91F6F86740E26FE733639 /* BarLineScatterCandleBubbleChartDataSet.swift in Sources */, E68CA3DC66EB638C956E09B8 /* BubbleChartData.swift in Sources */, @@ -863,35 +905,37 @@ B539114951455C35BADAE3F3 /* PieChartDataSet.swift in Sources */, 0C52C70C6E6EA09BD7426386 /* RadarChartData.swift in Sources */, C2EFB4EC8C97FA9987F1B50D /* RadarChartDataEntry.swift in Sources */, + 221CA2922588FCBC00C2DD1E /* Sequence+KeyPath.swift in Sources */, E3B28EA1E21279DF3889BCE8 /* RadarChartDataSet.swift in Sources */, 9A26C8DB1F87B01700367599 /* DataApproximator+N.swift in Sources */, 2B791E64E7C4523B1A63F72A /* ScatterChartData.swift in Sources */, EB56849433A76B08606B73EB /* ScatterChartDataSet.swift in Sources */, - C3F0DDB7F0A922F0BB7EDB8A /* IBarChartDataSet.swift in Sources */, - AF4AAF3709ED9DDF6362EAE8 /* IBarLineScatterCandleBubbleChartDataSet.swift in Sources */, - 2C40CFFC8D88BEA70E0A50B0 /* IBubbleChartDataSet.swift in Sources */, - 0D8A89398F9BD5DCC8D7F976 /* ICandleChartDataSet.swift in Sources */, - E8F0F4F47CD7D72B4EE5A794 /* IChartDataSet.swift in Sources */, - F941C88BF814DF51C465CB95 /* ILineChartDataSet.swift in Sources */, - 1311BEC21E9CC264E971EFAF /* ILineRadarChartDataSet.swift in Sources */, - 146EE16342C2BADC92E45BF2 /* ILineScatterCandleRadarChartDataSet.swift in Sources */, - FAAD9FF6565DED2652188584 /* IPieChartDataSet.swift in Sources */, - 83BBAF3EDC31FD452F8BF1DB /* IRadarChartDataSet.swift in Sources */, - 50476F8E6662CAFC1EFE0723 /* IScatterChartDataSet.swift in Sources */, + C3F0DDB7F0A922F0BB7EDB8A /* BarChartDataSetProtocol.swift in Sources */, + AF4AAF3709ED9DDF6362EAE8 /* BarLineScatterCandleBubbleChartDataSetProtocol.swift in Sources */, + 2C40CFFC8D88BEA70E0A50B0 /* BubbleChartDataSetProtocol.swift in Sources */, + 0D8A89398F9BD5DCC8D7F976 /* CandleChartDataSetProtocol.swift in Sources */, + E8F0F4F47CD7D72B4EE5A794 /* ChartDataSetProtocol.swift in Sources */, + F941C88BF814DF51C465CB95 /* LineChartDataSetProtocol.swift in Sources */, + 1311BEC21E9CC264E971EFAF /* LineRadarChartDataSetProtocol.swift in Sources */, + 146EE16342C2BADC92E45BF2 /* LineScatterCandleRadarChartDataSetProtocol.swift in Sources */, + FAAD9FF6565DED2652188584 /* PieChartDataSetProtocol.swift in Sources */, + 83BBAF3EDC31FD452F8BF1DB /* RadarChartDataSetProtocol.swift in Sources */, + 50476F8E6662CAFC1EFE0723 /* ScatterChartDataSetProtocol.swift in Sources */, + 067934562A324A9D004BFBA9 /* Indexed.swift in Sources */, 97E033CC0ABEF0F448DAFA8E /* DataApproximator.swift in Sources */, 779B46E9F13A087BFA47D539 /* DefaultAxisValueFormatter.swift in Sources */, F744C510DA9B85C228BBB335 /* DefaultFillFormatter.swift in Sources */, B0D28C68BB9A958DC56EB214 /* DefaultValueFormatter.swift in Sources */, - B13C74B4FF705D7B595D01EF /* IAxisValueFormatter.swift in Sources */, - B6C9F450D937B87224D29D5C /* IFillFormatter.swift in Sources */, + B13C74B4FF705D7B595D01EF /* AxisValueFormatter.swift in Sources */, + B6C9F450D937B87224D29D5C /* FillFormatter.swift in Sources */, 967EE2EDDE3337C5C4337C59 /* IndexAxisValueFormatter.swift in Sources */, - A40ACF0CCE96EEE104B0463D /* IValueFormatter.swift in Sources */, + A40ACF0CCE96EEE104B0463D /* ValueFormatter.swift in Sources */, + C9F3DC262355F791000C3215 /* Platform+Graphics.swift in Sources */, 3CBE95F1E9394FA08CDCF31E /* BarHighlighter.swift in Sources */, D326491E8BCDE54A0921E137 /* ChartHighlighter.swift in Sources */, 64FA1EDB4DC1F65727D52D10 /* CombinedHighlighter.swift in Sources */, 758EB1C75063ED3373542F3B /* Highlight.swift in Sources */, 4E98788ABEF6496C23F3E6C6 /* HorizontalBarHighlighter.swift in Sources */, - 203A39685CC96FC625F616E4 /* IHighlighter.swift in Sources */, 73EDF662AD989E930D365B72 /* PieHighlighter.swift in Sources */, 3097296AC7FFA994FE4AD312 /* PieRadarHighlighter.swift in Sources */, C33E1AF5471A60BA42DAF52E /* RadarHighlighter.swift in Sources */, @@ -901,21 +945,23 @@ 4272DA5D44AF7DA05A5A8287 /* BubbleChartDataProvider.swift in Sources */, 30DCC4BAA5601B154ABADA13 /* CandleChartDataProvider.swift in Sources */, FD37AAC0270F390FFC470A65 /* ChartDataProvider.swift in Sources */, + C9F3DC292355FA2F000C3215 /* Platform+Touch Handling.swift in Sources */, 65EA404AE098EBCE8D5DE04B /* CombinedChartDataProvider.swift in Sources */, 2BA03CEC36BADCF682F1328B /* LineChartDataProvider.swift in Sources */, 0511E43EF3FD2CDE7F7F15DB /* ScatterChartDataProvider.swift in Sources */, + 06AB297F20FA726600BAD505 /* Highlighter.swift in Sources */, 7EE6EFE70CF4D8B09CAFCD01 /* AnimatedMoveViewJob.swift in Sources */, CC7F8198A13249B5DEBBF25E /* AnimatedViewPortJob.swift in Sources */, 0577C2B38BCE4C871F262714 /* AnimatedZoomViewJob.swift in Sources */, 02A6E6E1A82A27A66B8D08C4 /* MoveViewJob.swift in Sources */, 9400725714D0DA707DDECD2E /* ViewPortJob.swift in Sources */, AEE9C4E4AC02B8FB3CD21975 /* ZoomViewJob.swift in Sources */, - ECECC58CEF03B1718F8267E8 /* AxisRendererBase.swift in Sources */, + ECECC58CEF03B1718F8267E8 /* AxisRenderer.swift in Sources */, 23FA50B2730D8C7ACA091C4F /* BarChartRenderer.swift in Sources */, 219192CA6B4895319AB49DCA /* BarLineScatterCandleBubbleRenderer.swift in Sources */, 56E0F5EA9255B9B92876E040 /* BubbleChartRenderer.swift in Sources */, 8BCCD709AACC565613D9DA68 /* CandleStickChartRenderer.swift in Sources */, - F37B07008B8AE7F3909FFB9C /* ChartDataRendererBase.swift in Sources */, + F37B07008B8AE7F3909FFB9C /* DataRenderer.swift in Sources */, 05253AFC448C107DEF54C2FE /* CombinedChartRenderer.swift in Sources */, F100D68395F169B93590FA96 /* HorizontalBarChartRenderer.swift in Sources */, 2B821AAC3EBD60A73EACBCE6 /* LegendRenderer.swift in Sources */, @@ -923,13 +969,14 @@ 24151B0729D77251A8494D70 /* LineRadarRenderer.swift in Sources */, B6DCC229615EFE706F64A37D /* LineScatterCandleRadarRenderer.swift in Sources */, 795E100895C24049509F1EDE /* PieChartRenderer.swift in Sources */, + 97AD2D4620AF917100F9C24A /* Platform+Accessibility.swift in Sources */, 69EA073EDF75D49ABE1715D6 /* RadarChartRenderer.swift in Sources */, CEF68F42A5390A73113F3663 /* Renderer.swift in Sources */, 796D3E63A37A95FD9D1AB9A1 /* ChevronDownShapeRenderer.swift in Sources */, F103D90FC5DEEA0D7BB4407E /* ChevronUpShapeRenderer.swift in Sources */, B85DEB06B4C1AFFC8A0E3295 /* CircleShapeRenderer.swift in Sources */, 0529DD51622C8769C1121F90 /* CrossShapeRenderer.swift in Sources */, - 8A9FF54E2075A9047CC8E953 /* IShapeRenderer.swift in Sources */, + 8A9FF54E2075A9047CC8E953 /* ShapeRenderer.swift in Sources */, 8EF7B3FBE37F72CC030CD865 /* SquareShapeRenderer.swift in Sources */, 8F4B1A9060472764073DFA0B /* TriangleShapeRenderer.swift in Sources */, 93A94E1FF55041A6032891FE /* XShapeRenderer.swift in Sources */, @@ -956,11 +1003,13 @@ files = ( 3B11556EB7DC034E2FC958E4 /* BarChartTests.swift in Sources */, 8E1192F7A7152E9DA92C56A9 /* ChartUtilsTests.swift in Sources */, + 2243BBFD1FF156EC00B49D0B /* EquatableTests.swift in Sources */, B6BF9A561F91993A00E62A5D /* CombinedChartTests.swift in Sources */, 2BF85BEA981B359A65E9BF67 /* LineChartTests.swift in Sources */, + B66817462241E3CC00017CF1 /* HorizontalBarChartTests.swift in Sources */, 135F11CE20425AF600D655A3 /* PieChartTests.swift in Sources */, - 064989461F5C99C7006E8BB3 /* Snapshot.swift in Sources */, - 224EFF991FBAAC4700CF9B3B /* EquatableTests.swift in Sources */, + 064989461F5C99C7006E8BB3 /* Utilities.swift in Sources */, + C03E6D8123DAAB2600083010 /* ChartDataTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -970,7 +1019,7 @@ 8676F8A013D87F9961E92465 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Charts; - target = A58A4ED274A941CA248EA921 /* Charts */; + target = A58A4ED274A941CA248EA921 /* DGCharts */; targetProxy = C2005F425A98942473657ED2 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -980,21 +1029,31 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = A; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "Source/Supporting Files/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; + MARKETING_VERSION = 5.1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = com.dcg.Charts; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1003,8 +1062,8 @@ SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; - TVOS_DEPLOYMENT_TARGET = 9.0; + SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 12.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -1014,21 +1073,22 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; - "FRAMEWORK_SEARCH_PATHS[sdk=appletv*]" = ( - "$(SRCROOT)/Carthage/Build/tvOS/", + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = Tests/ChartsTests/Resources/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", ); - "FRAMEWORK_SEARCH_PATHS[sdk=iphone*]" = ( - "$(SRCROOT)/Carthage/Build/iOS/", + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", ); - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Tests/Supporting Files/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = com.dcg.ChartsTests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1036,8 +1096,8 @@ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator appletvos appletvsimulator"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; - TVOS_DEPLOYMENT_TARGET = 9.0; + SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Debug; }; @@ -1045,6 +1105,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -1066,6 +1127,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1074,6 +1136,7 @@ CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -1085,8 +1148,9 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; SDKROOT = macosx; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,3,4"; VALIDATE_PRODUCT = YES; }; @@ -1096,6 +1160,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -1117,6 +1182,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1125,6 +1191,7 @@ CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -1144,8 +1211,9 @@ GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,3,4"; }; name = Debug; @@ -1154,30 +1222,41 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_VERSION = A; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "Source/Supporting Files/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; + MARKETING_VERSION = 5.1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = com.dcg.Charts; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; - TVOS_DEPLOYMENT_TARGET = 9.0; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 12.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -1187,29 +1266,31 @@ isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; - "FRAMEWORK_SEARCH_PATHS[sdk=appletv*]" = ( - "$(SRCROOT)/Carthage/Build/tvOS/", + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = Tests/ChartsTests/Resources/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", ); - "FRAMEWORK_SEARCH_PATHS[sdk=iphone*]" = ( - "$(SRCROOT)/Carthage/Build/iOS/", + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", ); - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Tests/Supporting Files/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = com.dcg.ChartsTests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator appletvos appletvsimulator"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; - TVOS_DEPLOYMENT_TARGET = 9.0; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Release; }; @@ -1225,7 +1306,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E61E9728E2BF9CC4048B13D5 /* Build configuration list for PBXNativeTarget "ChartsTests" */ = { + E61E9728E2BF9CC4048B13D5 /* Build configuration list for PBXNativeTarget "DGChartsTests" */ = { isa = XCConfigurationList; buildConfigurations = ( FA978B0A385680C0086D4D49 /* Release */, @@ -1234,7 +1315,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F1D4AA9E26EA32041FC0E3B6 /* Build configuration list for PBXNativeTarget "Charts" */ = { + F1D4AA9E26EA32041FC0E3B6 /* Build configuration list for PBXNativeTarget "DGCharts" */ = { isa = XCConfigurationList; buildConfigurations = ( D9365FBCFFEE9FCFC79EC4C7 /* Release */, @@ -1244,6 +1325,25 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 22BBDA0625CC4C2F00435670 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/pointfreeco/swift-snapshot-testing"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 1.8.2; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 22BBDA0725CC4C2F00435670 /* SnapshotTesting */ = { + isa = XCSwiftPackageProductDependency; + package = 22BBDA0625CC4C2F00435670 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */; + productName = SnapshotTesting; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 193FC8DF32D250560C5F5D77 /* Project object */; } diff --git a/Charts.xcodeproj/xcshareddata/xcschemes/Charts.xcscheme b/Charts.xcodeproj/xcshareddata/xcschemes/DGCharts.xcscheme similarity index 79% rename from Charts.xcodeproj/xcshareddata/xcschemes/Charts.xcscheme rename to Charts.xcodeproj/xcshareddata/xcschemes/DGCharts.xcscheme index 6029c01d57..002c19ed9f 100644 --- a/Charts.xcodeproj/xcshareddata/xcschemes/Charts.xcscheme +++ b/Charts.xcodeproj/xcshareddata/xcschemes/DGCharts.xcscheme @@ -1,6 +1,6 @@ @@ -33,14 +33,12 @@ - - - - - - - - - - - - + + + + diff --git a/Charts.xcodeproj/xcshareddata/xcschemes/DGChartsTests.xcscheme b/Charts.xcodeproj/xcshareddata/xcschemes/DGChartsTests.xcscheme new file mode 100644 index 0000000000..322e8c7f2b --- /dev/null +++ b/Charts.xcodeproj/xcshareddata/xcschemes/DGChartsTests.xcscheme @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Charts.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Charts.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000000..54782e32fd --- /dev/null +++ b/Charts.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + + + diff --git a/Charts.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Charts.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000000..f58d68807c --- /dev/null +++ b/Charts.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,14 @@ +{ + "pins" : [ + { + "identity" : "swift-snapshot-testing", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pointfreeco/swift-snapshot-testing", + "state" : { + "revision" : "cef5b3f6f11781dd4591bdd1dd0a3d22bd609334", + "version" : "1.11.0" + } + } + ], + "version" : 2 +} diff --git a/ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/project.pbxproj b/ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/project.pbxproj index 68a01cd7e2..69441f58f5 100644 --- a/ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/project.pbxproj +++ b/ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/project.pbxproj @@ -9,11 +9,10 @@ /* Begin PBXBuildFile section */ 0439A3541C9FF95F00496F83 /* PiePolylineChartViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0439A3521C9FF95F00496F83 /* PiePolylineChartViewController.m */; }; 0471CBFC1CA1090A00E52DBC /* PiePolylineChartViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0471CBFB1CA1090A00E52DBC /* PiePolylineChartViewController.xib */; }; - 0630AE511D81271B008859B0 /* Charts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0630AE411D8126C0008859B0 /* Charts.framework */; }; - 0630AE521D81271B008859B0 /* Charts.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0630AE411D8126C0008859B0 /* Charts.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 068A9B191FBBF351003CF1AD /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5B8EAF2F1AB32E15009697AA /* Images.xcassets */; }; 068A9B1A1FBBF355003CF1AD /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B64D06EA1FB199130067418D /* Launch Screen.storyboard */; }; 068A9B1B1FBBF366003CF1AD /* radar_marker@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5B613DA31D526AD5000F1E98 /* radar_marker@3x.png */; }; + 06FF5D7529BD10650002256E /* DGCharts.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 06FF5D7229BD10650002256E /* DGCharts.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 225B36201F6EB9A50005B3D5 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B361F1F6EB9A50005B3D5 /* AppDelegate.swift */; }; 225B36311F6EB9EE0005B3D5 /* DemoBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B362F1F6EB9EE0005B3D5 /* DemoBaseViewController.swift */; }; 225B36321F6EB9EE0005B3D5 /* DemoListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B36301F6EB9EE0005B3D5 /* DemoListViewController.swift */; }; @@ -22,7 +21,6 @@ 225B363A1F6EBA040005B3D5 /* DateValueFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B36361F6EB9FE0005B3D5 /* DateValueFormatter.swift */; }; 225B363B1F6EBA040005B3D5 /* LargeValueFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B36371F6EB9FE0005B3D5 /* LargeValueFormatter.swift */; }; 225B36401F6EBA1D0005B3D5 /* XYMarkerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B363D1F6EBA180005B3D5 /* XYMarkerView.swift */; }; - 225B36411F6EBA1D0005B3D5 /* BalloonMarker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B363E1F6EBA180005B3D5 /* BalloonMarker.swift */; }; 225B36421F6EBA1D0005B3D5 /* RadarMarkerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B363F1F6EBA180005B3D5 /* RadarMarkerView.swift */; }; 225B365B1F6EBA470005B3D5 /* MultipleLinesChartViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B36441F6EBA410005B3D5 /* MultipleLinesChartViewController.swift */; }; 225B365C1F6EBA470005B3D5 /* MultipleBarChartViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 225B36451F6EBA410005B3D5 /* MultipleBarChartViewController.swift */; }; @@ -73,13 +71,13 @@ 225B36891F6EBA640005B3D5 /* ScatterChartViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5BEAED171ABBFB340013F194 /* ScatterChartViewController.xib */; }; 225B368A1F6EBA640005B3D5 /* SinusBarChartViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5BEAED3F1ABC1AC60013F194 /* SinusBarChartViewController.xib */; }; 225B368B1F6EBA640005B3D5 /* StackedBarChartViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5BEAED1A1ABBFB340013F194 /* StackedBarChartViewController.xib */; }; - 225B368C1F6EBBB00005B3D5 /* Charts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0630AE411D8126C0008859B0 /* Charts.framework */; }; - 225B368D1F6EBBB00005B3D5 /* Charts.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0630AE411D8126C0008859B0 /* Charts.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 55E356501ADC638F00A57971 /* BubbleChartViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 55E3564D1ADC638F00A57971 /* BubbleChartViewController.xib */; }; 55E356511ADC638F00A57971 /* BubbleChartViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 55E3564F1ADC638F00A57971 /* BubbleChartViewController.m */; }; 5B0CC7851ABB875400665592 /* PieChartViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B0CC7831ABB875400665592 /* PieChartViewController.m */; }; 5B0CC7861ABB875400665592 /* PieChartViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5B0CC7841ABB875400665592 /* PieChartViewController.xib */; }; 5B1B5DAB1E911A15006D1375 /* RealmDemosViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5B1B5DA91E911A15006D1375 /* RealmDemosViewController.xib */; }; + 5B442CD223D9B0A300B1F801 /* BalloonMarker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD47E5A1ABB0263008FCEC6 /* BalloonMarker.swift */; }; + 5B442CD323D9B0AB00B1F801 /* BalloonMarker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD47E5A1ABB0263008FCEC6 /* BalloonMarker.swift */; }; 5B57BBB51A9B26AA0036A6CC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B57BBB41A9B26AA0036A6CC /* main.m */; }; 5B57BBB81A9B26AA0036A6CC /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B57BBB71A9B26AA0036A6CC /* AppDelegate.m */; }; 5B57BBBB1A9B26AA0036A6CC /* DemoListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B57BBBA1A9B26AA0036A6CC /* DemoListViewController.m */; }; @@ -93,7 +91,6 @@ 5B8EAF301AB32E15009697AA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5B8EAF2F1AB32E15009697AA /* Images.xcassets */; }; 5B9624411B38608C007763E2 /* NegativeStackedBarChartViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B96243F1B38608C007763E2 /* NegativeStackedBarChartViewController.m */; }; 5B9624421B38608C007763E2 /* NegativeStackedBarChartViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5B9624401B38608C007763E2 /* NegativeStackedBarChartViewController.xib */; }; - 5BD47E5B1ABB0263008FCEC6 /* BalloonMarker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BD47E5A1ABB0263008FCEC6 /* BalloonMarker.swift */; }; 5BD47E601ABB3C91008FCEC6 /* LineChart2ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BD47E5E1ABB3C91008FCEC6 /* LineChart2ViewController.m */; }; 5BD47E611ABB3C91008FCEC6 /* LineChart2ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5BD47E5F1ABB3C91008FCEC6 /* LineChart2ViewController.xib */; }; 5BD47E651ABB424E008FCEC6 /* BarChartViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BD47E631ABB424E008FCEC6 /* BarChartViewController.m */; }; @@ -139,26 +136,26 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0630AE401D8126C0008859B0 /* PBXContainerItemProxy */ = { + 0630AE531D81271B008859B0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0630AE391D8126C0008859B0 /* Charts.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 06165F241D8110E600722320; + proxyType = 1; + remoteGlobalIDString = A58A4ED274A941CA248EA921; remoteInfo = Charts; }; - 0630AE421D8126C0008859B0 /* PBXContainerItemProxy */ = { + 06FF5D7129BD10650002256E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0630AE391D8126C0008859B0 /* Charts.xcodeproj */; proxyType = 2; - remoteGlobalIDString = 06165F2E1D8110E600722320; - remoteInfo = ChartsTests; + remoteGlobalIDString = 65AD9E95D9ED4DC0BD73A743; + remoteInfo = DGCharts; }; - 0630AE531D81271B008859B0 /* PBXContainerItemProxy */ = { + 06FF5D7329BD10650002256E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0630AE391D8126C0008859B0 /* Charts.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A58A4ED274A941CA248EA921; - remoteInfo = Charts; + proxyType = 2; + remoteGlobalIDString = 1CBBC58C6CE1EBEE9852CE41; + remoteInfo = DGChartsTests; }; 225B368E1F6EBBB00005B3D5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -176,7 +173,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 225B368D1F6EBBB00005B3D5 /* Charts.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -187,7 +183,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 0630AE521D81271B008859B0 /* Charts.framework in Embed Frameworks */, + 06FF5D7529BD10650002256E /* DGCharts.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -208,7 +204,6 @@ 225B36361F6EB9FE0005B3D5 /* DateValueFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateValueFormatter.swift; sourceTree = ""; }; 225B36371F6EB9FE0005B3D5 /* LargeValueFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LargeValueFormatter.swift; sourceTree = ""; }; 225B363D1F6EBA180005B3D5 /* XYMarkerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XYMarkerView.swift; sourceTree = ""; }; - 225B363E1F6EBA180005B3D5 /* BalloonMarker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BalloonMarker.swift; sourceTree = ""; }; 225B363F1F6EBA180005B3D5 /* RadarMarkerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadarMarkerView.swift; sourceTree = ""; }; 225B36441F6EBA410005B3D5 /* MultipleLinesChartViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultipleLinesChartViewController.swift; sourceTree = ""; }; 225B36451F6EBA410005B3D5 /* MultipleBarChartViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultipleBarChartViewController.swift; sourceTree = ""; }; @@ -259,7 +254,7 @@ 5B96243E1B38608C007763E2 /* NegativeStackedBarChartViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NegativeStackedBarChartViewController.h; sourceTree = ""; }; 5B96243F1B38608C007763E2 /* NegativeStackedBarChartViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NegativeStackedBarChartViewController.m; sourceTree = ""; }; 5B9624401B38608C007763E2 /* NegativeStackedBarChartViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NegativeStackedBarChartViewController.xib; sourceTree = ""; }; - 5BD47E5A1ABB0263008FCEC6 /* BalloonMarker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BalloonMarker.swift; sourceTree = ""; }; + 5BD47E5A1ABB0263008FCEC6 /* BalloonMarker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BalloonMarker.swift; path = "../../Objective-C/Components/BalloonMarker.swift"; sourceTree = ""; }; 5BD47E5C1ABB0273008FCEC6 /* ChartsDemo-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ChartsDemo-Bridging-Header.h"; sourceTree = ""; }; 5BD47E5D1ABB3C91008FCEC6 /* LineChart2ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineChart2ViewController.h; sourceTree = ""; }; 5BD47E5E1ABB3C91008FCEC6 /* LineChart2ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LineChart2ViewController.m; sourceTree = ""; }; @@ -332,7 +327,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 225B368C1F6EBBB00005B3D5 /* Charts.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -340,7 +334,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0630AE511D81271B008859B0 /* Charts.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -350,8 +343,8 @@ 0630AE3A1D8126C0008859B0 /* Products */ = { isa = PBXGroup; children = ( - 0630AE411D8126C0008859B0 /* Charts.framework */, - 0630AE431D8126C0008859B0 /* ChartsTests.xctest */, + 06FF5D7229BD10650002256E /* DGCharts.framework */, + 06FF5D7429BD10650002256E /* DGChartsTests.xctest */, ); name = Products; sourceTree = ""; @@ -383,7 +376,7 @@ 225B363C1F6EBA180005B3D5 /* Components */ = { isa = PBXGroup; children = ( - 225B363E1F6EBA180005B3D5 /* BalloonMarker.swift */, + 5BD47E5A1ABB0263008FCEC6 /* BalloonMarker.swift */, 225B363F1F6EBA180005B3D5 /* RadarMarkerView.swift */, 225B363D1F6EBA180005B3D5 /* XYMarkerView.swift */, ); @@ -530,7 +523,6 @@ 5BD47E541ABB0177008FCEC6 /* Components */ = { isa = PBXGroup; children = ( - 5BD47E5A1ABB0263008FCEC6 /* BalloonMarker.swift */, 5B613DB21D526DED000F1E98 /* RadarMarkerView.swift */, 5B613DEF1D5A50B6000F1E98 /* XYMarkerView.swift */, ); @@ -653,22 +645,23 @@ attributes = { LastSwiftMigration = 0700; LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1320; ORGANIZATIONNAME = dcg; TargetAttributes = { 225B361C1F6EB9A50005B3D5 = { CreatedOnToolsVersion = 9.0; + LastSwiftMigration = 1150; }; 5B57BBAE1A9B26AA0036A6CC = { CreatedOnToolsVersion = 6.1.1; - LastSwiftMigration = 0900; - ProvisioningStyle = Manual; + LastSwiftMigration = 1150; + ProvisioningStyle = Automatic; }; }; }; buildConfigurationList = 5B57BBAA1A9B26AA0036A6CC /* Build configuration list for PBXProject "ChartsDemo-iOS" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -692,18 +685,18 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 0630AE411D8126C0008859B0 /* Charts.framework */ = { + 06FF5D7229BD10650002256E /* DGCharts.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = Charts.framework; - remoteRef = 0630AE401D8126C0008859B0 /* PBXContainerItemProxy */; + path = DGCharts.framework; + remoteRef = 06FF5D7129BD10650002256E /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 0630AE431D8126C0008859B0 /* ChartsTests.xctest */ = { + 06FF5D7429BD10650002256E /* DGChartsTests.xctest */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; - path = ChartsTests.xctest; - remoteRef = 0630AE421D8126C0008859B0 /* PBXContainerItemProxy */; + path = DGChartsTests.xctest; + remoteRef = 06FF5D7329BD10650002256E /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -795,10 +788,10 @@ 225B366A1F6EBA470005B3D5 /* CubicLineChartViewController.swift in Sources */, 225B36671F6EBA470005B3D5 /* PositiveNegativeBarChartViewController.swift in Sources */, 225B363A1F6EBA040005B3D5 /* DateValueFormatter.swift in Sources */, + 5B442CD223D9B0A300B1F801 /* BalloonMarker.swift in Sources */, 225B366D1F6EBA470005B3D5 /* PiePolylineChartViewController.swift in Sources */, 225B366F1F6EBA470005B3D5 /* BarChartViewController.swift in Sources */, 225B36601F6EBA470005B3D5 /* LineChart2ViewController.swift in Sources */, - 225B36411F6EBA1D0005B3D5 /* BalloonMarker.swift in Sources */, 225B366C1F6EBA470005B3D5 /* HorizontalBarChartViewController.swift in Sources */, 225B36401F6EBA1D0005B3D5 /* XYMarkerView.swift in Sources */, 225B36421F6EBA1D0005B3D5 /* RadarMarkerView.swift in Sources */, @@ -835,6 +828,7 @@ 5B57BBBB1A9B26AA0036A6CC /* DemoListViewController.m in Sources */, 5BD47E651ABB424E008FCEC6 /* BarChartViewController.m in Sources */, 5BDEDC471ABB871E007D3A60 /* CombinedChartViewController.m in Sources */, + 5B442CD323D9B0AB00B1F801 /* BalloonMarker.swift in Sources */, 5BE377F21D47FDF1006EB34F /* IntAxisValueFormatter.m in Sources */, 5BD8F0741AB89CE500566E05 /* LineChart1ViewController.m in Sources */, 5BE377DE1D425151006EB34F /* DayAxisValueFormatter.m in Sources */, @@ -844,7 +838,6 @@ 5BEAED251ABC0BE20013F194 /* MultipleBarChartViewController.m in Sources */, 5B57BBB81A9B26AA0036A6CC /* AppDelegate.m in Sources */, 55E356511ADC638F00A57971 /* BubbleChartViewController.m in Sources */, - 5BD47E5B1ABB0263008FCEC6 /* BalloonMarker.swift in Sources */, 5BEAED2C1ABC160F0013F194 /* CandleStickChartViewController.m in Sources */, 5BEAED271ABC0BE20013F194 /* MultipleLinesChartViewController.m in Sources */, 5BE6739A1D5BAD7E00A87BA2 /* DateValueFormatter.m in Sources */, @@ -898,15 +891,16 @@ CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Supporting Files/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.dcg.ChartsDemo-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; }; name = Debug; @@ -929,13 +923,14 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Supporting Files/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.dcg.ChartsDemo-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; }; name = Release; @@ -944,6 +939,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -962,6 +958,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -985,11 +982,11 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -997,6 +994,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -1015,6 +1013,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1031,11 +1030,11 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; }; name = Release; @@ -1046,17 +1045,20 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = "$(SOURCE_ROOT)/../Carthage/Build/iOS"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "Supporting Files/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.dcg.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "ChartsDemo-iOS"; + PROVISIONING_PROFILE_SPECIFIER = ""; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos appletvsimulator appletvos"; SWIFT_OBJC_BRIDGING_HEADER = "Supporting Files/ChartsDemo-Bridging-Header.h"; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(SWIFT_MODULE_NAME)-Swift.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -1066,16 +1068,19 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = "$(SOURCE_ROOT)/../Carthage/Build/iOS"; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "Supporting Files/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.dcg.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "ChartsDemo-iOS"; + PROVISIONING_PROFILE_SPECIFIER = ""; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos appletvsimulator appletvos"; SWIFT_OBJC_BRIDGING_HEADER = "Supporting Files/ChartsDemo-Bridging-Header.h"; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(SWIFT_MODULE_NAME)-Swift.h"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/Charts.xcodeproj/xcshareddata/xcschemes/ChartsTests.xcscheme b/ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/xcshareddata/xcschemes/ChartsDemo-iOS-Swift.xcscheme similarity index 58% rename from Charts.xcodeproj/xcshareddata/xcschemes/ChartsTests.xcscheme rename to ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/xcshareddata/xcschemes/ChartsDemo-iOS-Swift.xcscheme index 4b03f98058..d93d21bd31 100644 --- a/Charts.xcodeproj/xcshareddata/xcschemes/ChartsTests.xcscheme +++ b/ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/xcshareddata/xcschemes/ChartsDemo-iOS-Swift.xcscheme @@ -1,6 +1,6 @@ + BlueprintIdentifier = "225B361C1F6EB9A50005B3D5" + BuildableName = "ChartsDemo-iOS-Swift.app" + BlueprintName = "ChartsDemo-iOS-Swift" + ReferencedContainer = "container:ChartsDemo-iOS.xcodeproj"> @@ -26,22 +26,9 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - codeCoverageEnabled = "YES" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - - - + + BlueprintIdentifier = "225B361C1F6EB9A50005B3D5" + BuildableName = "ChartsDemo-iOS-Swift.app" + BlueprintName = "ChartsDemo-iOS-Swift" + ReferencedContainer = "container:ChartsDemo-iOS.xcodeproj"> - - - - - - - + + + + + diff --git a/ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/xcshareddata/xcschemes/ChartsDemo-iOS.xcscheme b/ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/xcshareddata/xcschemes/ChartsDemo-iOS.xcscheme new file mode 100644 index 0000000000..beb2cdf231 --- /dev/null +++ b/ChartsDemo-iOS/ChartsDemo-iOS.xcodeproj/xcshareddata/xcschemes/ChartsDemo-iOS.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ChartsDemo-iOS/Objective-C/AppDelegate.m b/ChartsDemo-iOS/Objective-C/AppDelegate.m index 35ffcc3c07..7bdef436ff 100644 --- a/ChartsDemo-iOS/Objective-C/AppDelegate.m +++ b/ChartsDemo-iOS/Objective-C/AppDelegate.m @@ -24,6 +24,12 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( DemoListViewController *vc = [[DemoListViewController alloc] init]; UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:vc]; + if (@available(iOS 13.0, *)) { + UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init]; + [appearance configureWithOpaqueBackground]; + nvc.navigationBar.standardAppearance = appearance; + nvc.navigationBar.scrollEdgeAppearance = appearance; + } _window.rootViewController = nvc; [_window makeKeyAndVisible]; diff --git a/ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift b/ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift index 51b5f351a7..8ec8c004e7 100644 --- a/ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift +++ b/ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift @@ -10,8 +10,10 @@ // import Foundation -import Charts - +import DGCharts +#if canImport(UIKit) + import UIKit +#endif open class BalloonMarker: MarkerImage { @@ -25,7 +27,7 @@ open class BalloonMarker: MarkerImage fileprivate var label: String? fileprivate var _labelSize: CGSize = CGSize() fileprivate var _paragraphStyle: NSMutableParagraphStyle? - fileprivate var _drawAttributes = [NSAttributedStringKey : AnyObject]() + fileprivate var _drawAttributes = [NSAttributedString.Key : Any]() @objc public init(color: UIColor, font: UIFont, textColor: UIColor, insets: UIEdgeInsets) { diff --git a/ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift b/ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift index 6f286bf013..503131d065 100644 --- a/ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift +++ b/ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift @@ -10,7 +10,10 @@ // import Foundation -import Charts +import DGCharts +#if canImport(UIKit) + import UIKit +#endif open class RadarMarkerView: MarkerView { diff --git a/ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift b/ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift index bc77c82206..7e20a254be 100644 --- a/ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift +++ b/ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift @@ -5,15 +5,18 @@ // import Foundation -import Charts +import DGCharts +#if canImport(UIKit) + import UIKit +#endif open class XYMarkerView: BalloonMarker { - @objc open var xAxisValueFormatter: IAxisValueFormatter? + @objc open var xAxisValueFormatter: AxisValueFormatter? fileprivate var yFormatter = NumberFormatter() @objc public init(color: UIColor, font: UIFont, textColor: UIColor, insets: UIEdgeInsets, - xAxisValueFormatter: IAxisValueFormatter) + xAxisValueFormatter: AxisValueFormatter) { super.init(color: color, font: font, textColor: textColor, insets: insets) self.xAxisValueFormatter = xAxisValueFormatter diff --git a/ChartsDemo-iOS/Objective-C/DemoBaseViewController.m b/ChartsDemo-iOS/Objective-C/DemoBaseViewController.m index 4e6392a91d..a264f2a712 100644 --- a/ChartsDemo-iOS/Objective-C/DemoBaseViewController.m +++ b/ChartsDemo-iOS/Objective-C/DemoBaseViewController.m @@ -75,7 +75,7 @@ - (void)handleOption:(NSString *)key forChartView:(ChartViewBase *)chartView { if ([key isEqualToString:@"toggleValues"]) { - for (id set in chartView.data.dataSets) + for (id set in chartView.data.dataSets) { set.drawValuesEnabled = !set.isDrawValuesEnabled; } @@ -85,7 +85,7 @@ - (void)handleOption:(NSString *)key forChartView:(ChartViewBase *)chartView if ([key isEqualToString:@"toggleIcons"]) { - for (id set in chartView.data.dataSets) + for (id set in chartView.data.dataSets) { set.drawIconsEnabled = !set.isDrawIconsEnabled; } @@ -95,7 +95,7 @@ - (void)handleOption:(NSString *)key forChartView:(ChartViewBase *)chartView if ([key isEqualToString:@"toggleHighlight"]) { - chartView.data.highlightEnabled = !chartView.data.isHighlightEnabled; + chartView.data.isHighlightEnabled = !chartView.data.isHighlightEnabled; [chartView setNeedsDisplay]; } @@ -143,9 +143,9 @@ - (void)handleOption:(NSString *)key forChartView:(ChartViewBase *)chartView if ([key isEqualToString:@"toggleBarBorders"]) { - for (id set in chartView.data.dataSets) + for (id set in chartView.data.dataSets) { - if ([set conformsToProtocol:@protocol(IBarChartDataSet)]) + if ([set conformsToProtocol:@protocol(BarChartDataSetProtocol)]) { set.barBorderWidth = set.barBorderWidth == 1.0 ? 0.0 : 1.0; } diff --git a/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.h index cc5374f6ca..1a96452d5d 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface AnotherBarChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m index f6b1adaa8b..65439bc914 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/AnotherBarChartViewController.m @@ -97,13 +97,13 @@ - (void)setDataCount:(int)count range:(double)range if (_chartView.data.dataSetCount > 0) { set1 = (BarChartDataSet *)_chartView.data.dataSets[0]; - set1.values = yVals; + [set1 replaceEntries:yVals]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@"DataSet"]; + set1 = [[BarChartDataSet alloc] initWithEntries:yVals label:@"DataSet"]; set1.colors = ChartColorTemplates.vordiplom; set1.drawValuesEnabled = NO; diff --git a/ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.h index 05b7c8c96c..c48260a38d 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface BarChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.m index 52db459e9b..5e1567c088 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/BarChartViewController.m @@ -148,13 +148,13 @@ - (void)setDataCount:(int)count range:(double)range if (_chartView.data.dataSetCount > 0) { set1 = (BarChartDataSet *)_chartView.data.dataSets[0]; - set1.values = yVals; + [set1 replaceEntries: yVals]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@"The year 2017"]; + set1 = [[BarChartDataSet alloc] initWithEntries:yVals label:@"The year 2017"]; [set1 setColors:ChartColorTemplates.material]; set1.drawIconsEnabled = NO; diff --git a/ChartsDemo-iOS/Objective-C/Demos/BubbleChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/BubbleChartViewController.h index e09eef7962..c77cf58175 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/BubbleChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/BubbleChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface BubbleChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/BubbleChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/BubbleChartViewController.m index 765639acfe..9d32596674 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/BubbleChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/BubbleChartViewController.m @@ -115,17 +115,17 @@ - (void)setDataCount:(int)count range:(double)range [yVals3 addObject:[[BubbleChartDataEntry alloc] initWithX:i y:val size:size]]; } - BubbleChartDataSet *set1 = [[BubbleChartDataSet alloc] initWithValues:yVals1 label:@"DS 1"]; + BubbleChartDataSet *set1 = [[BubbleChartDataSet alloc] initWithEntries:yVals1 label:@"DS 1"]; set1.drawIconsEnabled = NO; [set1 setColor:ChartColorTemplates.colorful[0] alpha:0.50f]; [set1 setDrawValuesEnabled:YES]; - BubbleChartDataSet *set2 = [[BubbleChartDataSet alloc] initWithValues:yVals2 label:@"DS 2"]; + BubbleChartDataSet *set2 = [[BubbleChartDataSet alloc] initWithEntries:yVals2 label:@"DS 2"]; set2.iconsOffset = CGPointMake(0, 15); [set2 setColor:ChartColorTemplates.colorful[1] alpha:0.50f]; [set2 setDrawValuesEnabled:YES]; - BubbleChartDataSet *set3 = [[BubbleChartDataSet alloc] initWithValues:yVals3 label:@"DS 3"]; + BubbleChartDataSet *set3 = [[BubbleChartDataSet alloc] initWithEntries:yVals3 label:@"DS 3"]; [set3 setColor:ChartColorTemplates.colorful[2] alpha:0.50f]; [set3 setDrawValuesEnabled:YES]; diff --git a/ChartsDemo-iOS/Objective-C/Demos/CandleStickChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/CandleStickChartViewController.h index fc3d2f66b2..baf23f0325 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/CandleStickChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/CandleStickChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface CandleStickChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/CandleStickChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/CandleStickChartViewController.m index 6e2a004dc3..740268c892 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/CandleStickChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/CandleStickChartViewController.m @@ -105,7 +105,7 @@ - (void)setDataCount:(int)count range:(double)range [yVals1 addObject:[[CandleChartDataEntry alloc] initWithX:i shadowH:val + high shadowL:val - low open:even ? val + open : val - open close:even ? val - close : val + close icon: [UIImage imageNamed:@"icon"]]]; } - CandleChartDataSet *set1 = [[CandleChartDataSet alloc] initWithValues:yVals1 label:@"Data Set"]; + CandleChartDataSet *set1 = [[CandleChartDataSet alloc] initWithEntries:yVals1 label:@"Data Set"]; set1.axisDependency = AxisDependencyLeft; [set1 setColor:[UIColor colorWithWhite:80/255.f alpha:1.f]]; @@ -128,7 +128,7 @@ - (void)optionTapped:(NSString *)key { if ([key isEqualToString:@"toggleShadowColorSameAsCandle"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.shadowColorSameAsCandle = !set.shadowColorSameAsCandle; } @@ -137,7 +137,7 @@ - (void)optionTapped:(NSString *)key return; } else if ([key isEqualToString:@"toggleShowCandleBar"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.showCandleBar = !set.showCandleBar; } diff --git a/ChartsDemo-iOS/Objective-C/Demos/ColoredLineChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/ColoredLineChartViewController.h index c79e3cf314..d33fcdbb6c 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/ColoredLineChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/ColoredLineChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface ColoredLineChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/ColoredLineChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/ColoredLineChartViewController.m index a639f6911d..a832bc0097 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/ColoredLineChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/ColoredLineChartViewController.m @@ -44,7 +44,7 @@ - (void)viewDidLoad - (void)setupChart:(LineChartView *)chart data:(LineChartData *)data color:(UIColor *)color { - [(LineChartDataSet *)[data getDataSetByIndex:0] setCircleHoleColor:color]; + [(LineChartDataSet *)[data dataSetAtIndex:0] setCircleHoleColor:color]; chart.delegate = self; chart.backgroundColor = color; @@ -86,7 +86,7 @@ - (LineChartData *)dataWithCount:(int)count range:(double)range [yVals addObject:[[ChartDataEntry alloc] initWithX:i y:val]]; } - LineChartDataSet *set1 = [[LineChartDataSet alloc] initWithValues:yVals label:@"DataSet 1"]; + LineChartDataSet *set1 = [[LineChartDataSet alloc] initWithEntries:yVals label:@"DataSet 1"]; set1.lineWidth = 1.75; set1.circleRadius = 5.0; diff --git a/ChartsDemo-iOS/Objective-C/Demos/CombinedChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/CombinedChartViewController.h index c6de2899e8..2df1d91a87 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/CombinedChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/CombinedChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface CombinedChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/CombinedChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/CombinedChartViewController.m index 17b661712f..a4700b259e 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/CombinedChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/CombinedChartViewController.m @@ -14,7 +14,7 @@ #define ITEM_COUNT 12 -@interface CombinedChartViewController () +@interface CombinedChartViewController () { NSArray *months; } @@ -122,7 +122,7 @@ - (void)optionTapped:(NSString *)key { if ([key isEqualToString:@"toggleLineValues"]) { - for (NSObject *set in _chartView.data.dataSets) + for (NSObject *set in _chartView.data.dataSets) { if ([set isKindOfClass:LineChartDataSet.class]) { @@ -136,7 +136,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleBarValues"]) { - for (NSObject *set in _chartView.data.dataSets) + for (NSObject *set in _chartView.data.dataSets) { if ([set isKindOfClass:BarChartDataSet.class]) { @@ -151,7 +151,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"removeDataSet"]) { int rnd = (int)arc4random_uniform((float)_chartView.data.dataSetCount); - [_chartView.data removeDataSet:[_chartView.data getDataSetByIndex:rnd]]; + [_chartView.data removeDataSet:[_chartView.data dataSetAtIndex:rnd]]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } @@ -170,7 +170,7 @@ - (LineChartData *)generateLineData [entries addObject:[[ChartDataEntry alloc] initWithX:index + 0.5 y:(arc4random_uniform(15) + 5)]]; } - LineChartDataSet *set = [[LineChartDataSet alloc] initWithValues:entries label:@"Line DataSet"]; + LineChartDataSet *set = [[LineChartDataSet alloc] initWithEntries:entries label:@"Line DataSet"]; [set setColor:[UIColor colorWithRed:240/255.f green:238/255.f blue:70/255.f alpha:1.f]]; set.lineWidth = 2.5; [set setCircleColor:[UIColor colorWithRed:240/255.f green:238/255.f blue:70/255.f alpha:1.f]]; @@ -202,13 +202,13 @@ - (BarChartData *)generateBarData [entries2 addObject:[[BarChartDataEntry alloc] initWithX:0.0 yValues:@[@(arc4random_uniform(13) + 12), @(arc4random_uniform(13) + 12)]]]; } - BarChartDataSet *set1 = [[BarChartDataSet alloc] initWithValues:entries1 label:@"Bar 1"]; + BarChartDataSet *set1 = [[BarChartDataSet alloc] initWithEntries:entries1 label:@"Bar 1"]; [set1 setColor:[UIColor colorWithRed:60/255.f green:220/255.f blue:78/255.f alpha:1.f]]; set1.valueTextColor = [UIColor colorWithRed:60/255.f green:220/255.f blue:78/255.f alpha:1.f]; set1.valueFont = [UIFont systemFontOfSize:10.f]; set1.axisDependency = AxisDependencyRight; - BarChartDataSet *set2 = [[BarChartDataSet alloc] initWithValues:entries2 label:@""]; + BarChartDataSet *set2 = [[BarChartDataSet alloc] initWithEntries:entries2 label:@""]; set2.stackLabels = @[@"Stack 1", @"Stack 2"]; set2.colors = @[ [UIColor colorWithRed:61/255.f green:165/255.f blue:255/255.f alpha:1.f], @@ -243,7 +243,7 @@ - (ScatterChartData *)generateScatterData [entries addObject:[[ChartDataEntry alloc] initWithX:index + 0.25 y:(arc4random_uniform(10) + 55)]]; } - ScatterChartDataSet *set = [[ScatterChartDataSet alloc] initWithValues:entries label:@"Scatter DataSet"]; + ScatterChartDataSet *set = [[ScatterChartDataSet alloc] initWithEntries:entries label:@"Scatter DataSet"]; set.colors = ChartColorTemplates.material; set.scatterShapeSize = 4.5; [set setDrawValuesEnabled:NO]; @@ -265,7 +265,7 @@ - (CandleChartData *)generateCandleData [entries addObject:[[CandleChartDataEntry alloc] initWithX:index + 1 shadowH:90.0 shadowL:70.0 open:85.0 close:75.0]]; } - CandleChartDataSet *set = [[CandleChartDataSet alloc] initWithValues:entries label:@"Candle DataSet"]; + CandleChartDataSet *set = [[CandleChartDataSet alloc] initWithEntries:entries label:@"Candle DataSet"]; [set setColor:[UIColor colorWithRed:80/255.f green:80/255.f blue:80/255.f alpha:1.f]]; set.decreasingColor = [UIColor colorWithRed:142/255.0 green:150/255.0 blue:175/255.0 alpha:1.0]; set.shadowColor = UIColor.darkGrayColor; @@ -290,7 +290,7 @@ - (BubbleChartData *)generateBubbleData [entries addObject:[[BubbleChartDataEntry alloc] initWithX:index + 0.5 y:y size:size]]; } - BubbleChartDataSet *set = [[BubbleChartDataSet alloc] initWithValues:entries label:@"Bubble DataSet"]; + BubbleChartDataSet *set = [[BubbleChartDataSet alloc] initWithEntries:entries label:@"Bubble DataSet"]; [set setColors:ChartColorTemplates.vordiplom]; set.valueTextColor = UIColor.whiteColor; set.valueFont = [UIFont systemFontOfSize:10.f]; @@ -313,7 +313,7 @@ - (void)chartValueNothingSelected:(ChartViewBase * __nonnull)chartView NSLog(@"chartValueNothingSelected"); } -#pragma mark - IAxisValueFormatter +#pragma mark - AxisValueFormatter - (NSString *)stringForValue:(double)value axis:(ChartAxisBase *)axis diff --git a/ChartsDemo-iOS/Objective-C/Demos/CubicLineChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/CubicLineChartViewController.h index 658570aaab..784ff73553 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/CubicLineChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/CubicLineChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface CubicLineChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/CubicLineChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/CubicLineChartViewController.m index e28c5cd642..1912cf6090 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/CubicLineChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/CubicLineChartViewController.m @@ -12,7 +12,7 @@ #import "CubicLineChartViewController.h" #import "ChartsDemo_iOS-Swift.h" -@interface CubicLineSampleFillFormatter : NSObject +@interface CubicLineSampleFillFormatter : NSObject { } @end @@ -126,13 +126,13 @@ - (void)setDataCount:(int)count range:(double)range if (_chartView.data.dataSetCount > 0) { set1 = (LineChartDataSet *)_chartView.data.dataSets[0]; - set1.values = yVals1; + [set1 replaceEntries:yVals1]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set1 = [[LineChartDataSet alloc] initWithValues:yVals1 label:@"DataSet 1"]; + set1 = [[LineChartDataSet alloc] initWithEntries:yVals1 label:@"DataSet 1"]; set1.mode = LineChartModeCubicBezier; set1.cubicIntensity = 0.2; set1.drawCirclesEnabled = NO; @@ -158,7 +158,7 @@ - (void)optionTapped:(NSString *)key { if ([key isEqualToString:@"toggleFilled"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawFilledEnabled = !set.isDrawFilledEnabled; } @@ -169,7 +169,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCircles"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawCirclesEnabled = !set.isDrawCirclesEnabled; } @@ -180,7 +180,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCubic"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeCubicBezier ? LineChartModeLinear : LineChartModeCubicBezier; } @@ -191,7 +191,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleStepped"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeStepped ? LineChartModeLinear : LineChartModeStepped; } @@ -201,7 +201,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleHorizontalCubic"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeCubicBezier ? LineChartModeHorizontalBezier : LineChartModeCubicBezier; } diff --git a/ChartsDemo-iOS/Objective-C/Demos/HalfPieChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/HalfPieChartViewController.h index 5f3ab1b1a4..cbd6ca8125 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/HalfPieChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/HalfPieChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface HalfPieChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/HalfPieChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/HalfPieChartViewController.m index 3e34b7fd32..e66840c48e 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/HalfPieChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/HalfPieChartViewController.m @@ -24,7 +24,7 @@ - (void)viewDidLoad { [super viewDidLoad]; - self.title = @"Half Pie Bar Chart"; + self.title = @"Half Pie Chart"; self.options = @[ @{@"key": @"toggleValues", @"label": @"Toggle Y-Values"}, @@ -101,7 +101,7 @@ - (void)setDataCount:(int)count range:(double)range [values addObject:[[PieChartDataEntry alloc] initWithValue:(arc4random_uniform(mult) + mult / 5) label:parties[i % parties.count]]]; } - PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithValues:values label:@"Election Results"]; + PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithEntries:values label:@"Election Results"]; dataSet.sliceSpace = 3.0; dataSet.selectionShift = 5.0; diff --git a/ChartsDemo-iOS/Objective-C/Demos/HorizontalBarChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/HorizontalBarChartViewController.h index 4db77ab945..8c8d7e80ac 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/HorizontalBarChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/HorizontalBarChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface HorizontalBarChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/HorizontalBarChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/HorizontalBarChartViewController.m index fea156a249..54899281f1 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/HorizontalBarChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/HorizontalBarChartViewController.m @@ -127,13 +127,13 @@ - (void)setDataCount:(int)count range:(double)range if (_chartView.data.dataSetCount > 0) { set1 = (BarChartDataSet *)_chartView.data.dataSets[0]; - set1.values = yVals; + [set1 replaceEntries:yVals]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@"DataSet"]; + set1 = [[BarChartDataSet alloc] initWithEntries:yVals label:@"DataSet"]; set1.drawIconsEnabled = NO; diff --git a/ChartsDemo-iOS/Objective-C/Demos/LineChart1ViewController.h b/ChartsDemo-iOS/Objective-C/Demos/LineChart1ViewController.h index 3519fd4054..9c6fe474dc 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/LineChart1ViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/LineChart1ViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface LineChart1ViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/LineChart1ViewController.m b/ChartsDemo-iOS/Objective-C/Demos/LineChart1ViewController.m index 669eb3fdd7..c191983f40 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/LineChart1ViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/LineChart1ViewController.m @@ -145,13 +145,13 @@ - (void)setDataCount:(int)count range:(double)range if (_chartView.data.dataSetCount > 0) { set1 = (LineChartDataSet *)_chartView.data.dataSets[0]; - set1.values = values; + [set1 replaceEntries: values]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set1 = [[LineChartDataSet alloc] initWithValues:values label:@"DataSet 1"]; + set1 = [[LineChartDataSet alloc] initWithEntries:values label:@"DataSet 1"]; set1.drawIconsEnabled = NO; @@ -174,7 +174,7 @@ - (void)setDataCount:(int)count range:(double)range CGGradientRef gradient = CGGradientCreateWithColors(nil, (CFArrayRef)gradientColors, nil); set1.fillAlpha = 1.f; - set1.fill = [ChartFill fillWithLinearGradient:gradient angle:90.f]; + set1.fill = [[ChartLinearGradientFill alloc] initWithGradient:gradient angle:90.0f]; set1.drawFilledEnabled = YES; CGGradientRelease(gradient); @@ -192,7 +192,7 @@ - (void)optionTapped:(NSString *)key { if ([key isEqualToString:@"toggleFilled"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawFilledEnabled = !set.isDrawFilledEnabled; } @@ -203,7 +203,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCircles"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawCirclesEnabled = !set.isDrawCirclesEnabled; } @@ -214,7 +214,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCubic"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeCubicBezier ? LineChartModeLinear : LineChartModeCubicBezier; } @@ -225,7 +225,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleStepped"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { switch (set.mode) { case LineChartModeLinear: @@ -242,7 +242,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleHorizontalCubic"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeHorizontalBezier ? LineChartModeCubicBezier : LineChartModeHorizontalBezier; } diff --git a/ChartsDemo-iOS/Objective-C/Demos/LineChart2ViewController.h b/ChartsDemo-iOS/Objective-C/Demos/LineChart2ViewController.h index 0c8e6d3712..cd950a4b9d 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/LineChart2ViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/LineChart2ViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface LineChart2ViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/LineChart2ViewController.m b/ChartsDemo-iOS/Objective-C/Demos/LineChart2ViewController.m index 99e7d1ba1b..c6de87c182 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/LineChart2ViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/LineChart2ViewController.m @@ -146,15 +146,15 @@ - (void)setDataCount:(int)count range:(double)range set1 = (LineChartDataSet *)_chartView.data.dataSets[0]; set2 = (LineChartDataSet *)_chartView.data.dataSets[1]; set3 = (LineChartDataSet *)_chartView.data.dataSets[2]; - set1.values = yVals1; - set2.values = yVals2; - set3.values = yVals3; + [set1 replaceEntries:yVals1]; + [set2 replaceEntries:yVals2]; + [set3 replaceEntries:yVals3]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set1 = [[LineChartDataSet alloc] initWithValues:yVals1 label:@"DataSet 1"]; + set1 = [[LineChartDataSet alloc] initWithEntries:yVals1 label:@"DataSet 1"]; set1.axisDependency = AxisDependencyLeft; [set1 setColor:[UIColor colorWithRed:51/255.f green:181/255.f blue:229/255.f alpha:1.f]]; [set1 setCircleColor:UIColor.whiteColor]; @@ -165,7 +165,7 @@ - (void)setDataCount:(int)count range:(double)range set1.highlightColor = [UIColor colorWithRed:244/255.f green:117/255.f blue:117/255.f alpha:1.f]; set1.drawCircleHoleEnabled = NO; - set2 = [[LineChartDataSet alloc] initWithValues:yVals2 label:@"DataSet 2"]; + set2 = [[LineChartDataSet alloc] initWithEntries:yVals2 label:@"DataSet 2"]; set2.axisDependency = AxisDependencyRight; [set2 setColor:UIColor.redColor]; [set2 setCircleColor:UIColor.whiteColor]; @@ -176,7 +176,7 @@ - (void)setDataCount:(int)count range:(double)range set2.highlightColor = [UIColor colorWithRed:244/255.f green:117/255.f blue:117/255.f alpha:1.f]; set2.drawCircleHoleEnabled = NO; - set3 = [[LineChartDataSet alloc] initWithValues:yVals3 label:@"DataSet 3"]; + set3 = [[LineChartDataSet alloc] initWithEntries:yVals3 label:@"DataSet 3"]; set3.axisDependency = AxisDependencyRight; [set3 setColor:UIColor.yellowColor]; [set3 setCircleColor:UIColor.whiteColor]; @@ -204,7 +204,7 @@ - (void)optionTapped:(NSString *)key { if ([key isEqualToString:@"toggleFilled"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawFilledEnabled = !set.isDrawFilledEnabled; } @@ -215,7 +215,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCircles"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawCirclesEnabled = !set.isDrawCirclesEnabled; } @@ -226,7 +226,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCubic"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeCubicBezier ? LineChartModeLinear : LineChartModeCubicBezier; } @@ -237,7 +237,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleStepped"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { switch (set.mode) { case LineChartModeLinear: @@ -254,7 +254,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleHorizontalCubic"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeCubicBezier ? LineChartModeHorizontalBezier : LineChartModeCubicBezier; } @@ -282,7 +282,7 @@ - (void)chartValueSelected:(ChartViewBase * __nonnull)chartView entry:(ChartData { NSLog(@"chartValueSelected"); - [_chartView centerViewToAnimatedWithXValue:entry.x yValue:entry.y axis:[_chartView.data getDataSetByIndex:highlight.dataSetIndex].axisDependency duration:1.0]; + [_chartView centerViewToAnimatedWithXValue:entry.x yValue:entry.y axis:[_chartView.data dataSetAtIndex:highlight.dataSetIndex].axisDependency duration:1.0]; //[_chartView moveViewToAnimatedWithXValue:entry.x yValue:entry.y axis:[_chartView.data getDataSetByIndex:dataSetIndex].axisDependency duration:1.0]; //[_chartView zoomAndCenterViewAnimatedWithScaleX:1.8 scaleY:1.8 xValue:entry.x yValue:entry.y axis:[_chartView.data getDataSetByIndex:dataSetIndex].axisDependency duration:1.0]; diff --git a/ChartsDemo-iOS/Objective-C/Demos/LineChartFilledViewController.h b/ChartsDemo-iOS/Objective-C/Demos/LineChartFilledViewController.h index d62d9443ed..1c60e46afa 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/LineChartFilledViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/LineChartFilledViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface LineChartFilledViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/LineChartFilledViewController.m b/ChartsDemo-iOS/Objective-C/Demos/LineChartFilledViewController.m index 6caf4ebf45..3d0b3bb839 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/LineChartFilledViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/LineChartFilledViewController.m @@ -105,14 +105,14 @@ - (void)setDataCount:(int)count range:(double)range { set1 = (LineChartDataSet *)_chartView.data.dataSets[0]; set2 = (LineChartDataSet *)_chartView.data.dataSets[1]; - set1.values = yVals1; - set2.values = yVals2; + [set1 replaceEntries:yVals1]; + [set2 replaceEntries:yVals2]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set1 = [[LineChartDataSet alloc] initWithValues:yVals1 label:@"DataSet 1"]; + set1 = [[LineChartDataSet alloc] initWithEntries:yVals1 label:@"DataSet 1"]; set1.axisDependency = AxisDependencyLeft; [set1 setColor:[UIColor colorWithRed:255/255.0 green:241/255.0 blue:46/255.0 alpha:1.0]]; set1.drawCirclesEnabled = NO; @@ -123,11 +123,11 @@ - (void)setDataCount:(int)count range:(double)range set1.fillColor = UIColor.whiteColor; set1.highlightColor = [UIColor colorWithRed:244/255.0 green:117/255.0 blue:117/255.0 alpha:1.0]; set1.drawCircleHoleEnabled = NO; - set1.fillFormatter = [ChartDefaultFillFormatter withBlock:^CGFloat(id _Nonnull dataSet, id _Nonnull dataProvider) { + set1.fillFormatter = [ChartDefaultFillFormatter withBlock:^CGFloat(id _Nonnull dataSet, id _Nonnull dataProvider) { return self.chartView.leftAxis.axisMinimum; }]; - set2 = [[LineChartDataSet alloc] initWithValues:yVals2 label:@"DataSet 2"]; + set2 = [[LineChartDataSet alloc] initWithEntries:yVals2 label:@"DataSet 2"]; set2.axisDependency = AxisDependencyLeft; [set2 setColor:[UIColor colorWithRed:255/255.0 green:241/255.0 blue:46/255.0 alpha:1.0]]; set2.drawCirclesEnabled = NO; @@ -138,7 +138,7 @@ - (void)setDataCount:(int)count range:(double)range set2.fillColor = UIColor.whiteColor; set2.highlightColor = [UIColor colorWithRed:244/255.0 green:117/255.0 blue:117/255.0 alpha:1.0]; set2.drawCircleHoleEnabled = NO; - set2.fillFormatter = [ChartDefaultFillFormatter withBlock:^CGFloat(id _Nonnull dataSet, id _Nonnull dataProvider) { + set2.fillFormatter = [ChartDefaultFillFormatter withBlock:^CGFloat(id _Nonnull dataSet, id _Nonnull dataProvider) { return self.chartView.leftAxis.axisMaximum; }]; diff --git a/ChartsDemo-iOS/Objective-C/Demos/LineChartTimeViewController.h b/ChartsDemo-iOS/Objective-C/Demos/LineChartTimeViewController.h index 6edfb1ff85..456612b129 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/LineChartTimeViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/LineChartTimeViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface LineChartTimeViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/LineChartTimeViewController.m b/ChartsDemo-iOS/Objective-C/Demos/LineChartTimeViewController.m index f279248f99..7433c4f391 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/LineChartTimeViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/LineChartTimeViewController.m @@ -126,13 +126,13 @@ - (void)setDataCount:(int)count range:(double)range if (_chartView.data.dataSetCount > 0) { set1 = (LineChartDataSet *)_chartView.data.dataSets[0]; - set1.values = values; + [set1 replaceEntries: values]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set1 = [[LineChartDataSet alloc] initWithValues:values label:@"DataSet 1"]; + set1 = [[LineChartDataSet alloc] initWithEntries:values label:@"DataSet 1"]; set1.axisDependency = AxisDependencyLeft; set1.valueTextColor = [UIColor colorWithRed:51/255.0 green:181/255.0 blue:229/255.0 alpha:1.0]; set1.lineWidth = 1.5; @@ -158,7 +158,7 @@ - (void)optionTapped:(NSString *)key { if ([key isEqualToString:@"toggleFilled"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawFilledEnabled = !set.isDrawFilledEnabled; } @@ -169,7 +169,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCircles"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawCirclesEnabled = !set.isDrawCirclesEnabled; } @@ -180,7 +180,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCubic"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeCubicBezier ? LineChartModeLinear : LineChartModeCubicBezier; } @@ -191,7 +191,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleStepped"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { switch (set.mode) { case LineChartModeLinear: @@ -208,7 +208,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleHorizontalCubic"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeCubicBezier ? LineChartModeHorizontalBezier : LineChartModeCubicBezier; } diff --git a/ChartsDemo-iOS/Objective-C/Demos/MultipleBarChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/MultipleBarChartViewController.h index 63b820c5ef..4fbd558a4e 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/MultipleBarChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/MultipleBarChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface MultipleBarChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/MultipleBarChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/MultipleBarChartViewController.m index 1a17776a2c..ec748b8d24 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/MultipleBarChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/MultipleBarChartViewController.m @@ -155,10 +155,10 @@ - (void)setDataCount:(int)count range:(double)range set2 = (BarChartDataSet *)_chartView.data.dataSets[1]; set3 = (BarChartDataSet *)_chartView.data.dataSets[2]; set4 = (BarChartDataSet *)_chartView.data.dataSets[3]; - set1.values = yVals1; - set2.values = yVals2; - set3.values = yVals3; - set4.values = yVals4; + [set1 replaceEntries:yVals1]; + [set2 replaceEntries:yVals2]; + [set3 replaceEntries:yVals3]; + [set4 replaceEntries:yVals4]; BarChartData *data = _chartView.barData; @@ -171,16 +171,16 @@ - (void)setDataCount:(int)count range:(double)range } else { - set1 = [[BarChartDataSet alloc] initWithValues:yVals1 label:@"Company A"]; + set1 = [[BarChartDataSet alloc] initWithEntries:yVals1 label:@"Company A"]; [set1 setColor:[UIColor colorWithRed:104/255.f green:241/255.f blue:175/255.f alpha:1.f]]; - set2 = [[BarChartDataSet alloc] initWithValues:yVals2 label:@"Company B"]; + set2 = [[BarChartDataSet alloc] initWithEntries:yVals2 label:@"Company B"]; [set2 setColor:[UIColor colorWithRed:164/255.f green:228/255.f blue:251/255.f alpha:1.f]]; - set3 = [[BarChartDataSet alloc] initWithValues:yVals3 label:@"Company C"]; + set3 = [[BarChartDataSet alloc] initWithEntries:yVals3 label:@"Company C"]; [set3 setColor:[UIColor colorWithRed:242/255.f green:247/255.f blue:158/255.f alpha:1.f]]; - set4 = [[BarChartDataSet alloc] initWithValues:yVals4 label:@"Company D"]; + set4 = [[BarChartDataSet alloc] initWithEntries:yVals4 label:@"Company D"]; [set4 setColor:[UIColor colorWithRed:255/255.f green:102/255.f blue:0/255.f alpha:1.f]]; NSMutableArray *dataSets = [[NSMutableArray alloc] init]; diff --git a/ChartsDemo-iOS/Objective-C/Demos/MultipleLinesChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/MultipleLinesChartViewController.h index f2cc35ab9d..1d49b3dfad 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/MultipleLinesChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/MultipleLinesChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface MultipleLinesChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/MultipleLinesChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/MultipleLinesChartViewController.m index c49f762c63..63ad2519e4 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/MultipleLinesChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/MultipleLinesChartViewController.m @@ -106,7 +106,7 @@ - (void)setDataCount:(int)count range:(double)range [values addObject:[[ChartDataEntry alloc] initWithX:i y:val]]; } - LineChartDataSet *d = [[LineChartDataSet alloc] initWithValues:values label:[NSString stringWithFormat:@"DataSet %d", z + 1]]; + LineChartDataSet *d = [[LineChartDataSet alloc] initWithEntries:values label:[NSString stringWithFormat:@"DataSet %d", z + 1]]; d.lineWidth = 2.5; d.circleRadius = 4.0; d.circleHoleRadius = 2.0; @@ -130,7 +130,7 @@ - (void)optionTapped:(NSString *)key { if ([key isEqualToString:@"toggleFilled"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawFilledEnabled = !set.isDrawFilledEnabled; } @@ -141,7 +141,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCircles"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.drawCirclesEnabled = !set.isDrawCirclesEnabled; } @@ -152,7 +152,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleCubic"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { set.mode = set.mode == LineChartModeCubicBezier ? LineChartModeLinear : LineChartModeCubicBezier; } @@ -163,7 +163,7 @@ - (void)optionTapped:(NSString *)key if ([key isEqualToString:@"toggleStepped"]) { - for (id set in _chartView.data.dataSets) + for (id set in _chartView.data.dataSets) { switch (set.mode) { case LineChartModeLinear: diff --git a/ChartsDemo-iOS/Objective-C/Demos/NegativeStackedBarChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/NegativeStackedBarChartViewController.h index 610c3ecdad..2f7c9a2328 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/NegativeStackedBarChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/NegativeStackedBarChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface NegativeStackedBarChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/NegativeStackedBarChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/NegativeStackedBarChartViewController.m index 0e2703a83d..2083e41540 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/NegativeStackedBarChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/NegativeStackedBarChartViewController.m @@ -12,7 +12,7 @@ #import "NegativeStackedBarChartViewController.h" #import "ChartsDemo_iOS-Swift.h" -@interface NegativeStackedBarChartViewController () +@interface NegativeStackedBarChartViewController () @property (nonatomic, strong) IBOutlet HorizontalBarChartView *chartView; @@ -124,7 +124,7 @@ - (void)setChartData if (_chartView.data.dataSetCount > 0) { set = (BarChartDataSet *)_chartView.data.dataSets[0]; - set.values = yValues; + [set replaceEntries: yValues]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } @@ -137,7 +137,7 @@ - (void)setChartData customFormatter.minimumSignificantDigits = 1; customFormatter.minimumFractionDigits = 1; - set = [[BarChartDataSet alloc] initWithValues:yValues label:@"Age Distribution"]; + set = [[BarChartDataSet alloc] initWithEntries:yValues label:@"Age Distribution"]; set.drawIconsEnabled = NO; @@ -184,7 +184,7 @@ - (void)chartValueNothingSelected:(ChartViewBase * __nonnull)chartView NSLog(@"chartValueNothingSelected"); } -#pragma mark - IAxisValueFormatter +#pragma mark - AxisValueFormatter - (NSString *)stringForValue:(double)value axis:(ChartAxisBase *)axis diff --git a/ChartsDemo-iOS/Objective-C/Demos/PieChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/PieChartViewController.h index 098d12b733..3a475e2280 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/PieChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/PieChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface PieChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/PieChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/PieChartViewController.m index 009800615d..1d35f2ae12 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/PieChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/PieChartViewController.m @@ -28,7 +28,7 @@ - (void)viewDidLoad { [super viewDidLoad]; - self.title = @"Pie Bar Chart"; + self.title = @"Pie Chart"; self.options = @[ @{@"key": @"toggleValues", @"label": @"Toggle Y-Values"}, @@ -36,6 +36,7 @@ - (void)viewDidLoad @{@"key": @"togglePercent", @"label": @"Toggle Percent"}, @{@"key": @"toggleHole", @"label": @"Toggle Hole"}, @{@"key": @"toggleIcons", @"label": @"Toggle Icons"}, + @{@"key": @"toggleLabelsMinimumAngle", @"label": @"Toggle Labels Minimum Angle"}, @{@"key": @"animateX", @"label": @"Animate X"}, @{@"key": @"animateY", @"label": @"Animate Y"}, @{@"key": @"animateXY", @"label": @"Animate XY"}, @@ -59,7 +60,7 @@ - (void)viewDidLoad l.yOffset = 0.0; // entry label styling - _chartView.entryLabelColor = UIColor.whiteColor; + _chartView.entryLabelColor = UIColor.blackColor; _chartView.entryLabelFont = [UIFont fontWithName:@"HelveticaNeue-Light" size:12.f]; _sliderX.value = 4.0; @@ -97,7 +98,7 @@ - (void)setDataCount:(int)count range:(double)range [values addObject:[[PieChartDataEntry alloc] initWithValue:(arc4random_uniform(mult) + mult / 5) label:parties[i % parties.count] icon: [UIImage imageNamed:@"icon"]]]; } - PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithValues:values label:@"Election Results"]; + PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithEntries:values label:@"Election Results"]; dataSet.drawIconsEnabled = NO; @@ -125,7 +126,7 @@ - (void)setDataCount:(int)count range:(double)range pFormatter.percentSymbol = @" %"; [data setValueFormatter:[[ChartDefaultValueFormatter alloc] initWithFormatter:pFormatter]]; [data setValueFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:11.f]]; - [data setValueTextColor:UIColor.whiteColor]; + [data setValueTextColor:UIColor.blackColor]; _chartView.data = data; [_chartView highlightValues:nil]; @@ -157,6 +158,12 @@ - (void)optionTapped:(NSString *)key return; } + if ([key isEqualToString:@"toggleLabelsMinimumAngle"]) + { + CGFloat newMinimum = _chartView.sliceTextDrawingThreshold == 20.0 ? 0.0 : 20.0; + _chartView.sliceTextDrawingThreshold = newMinimum; + } + if ([key isEqualToString:@"drawCenter"]) { _chartView.drawCenterTextEnabled = !_chartView.isDrawCenterTextEnabled; diff --git a/ChartsDemo-iOS/Objective-C/Demos/PiePolylineChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/PiePolylineChartViewController.m index fbf3c366bb..3d5db27362 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/PiePolylineChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/PiePolylineChartViewController.m @@ -24,13 +24,14 @@ - (void)viewDidLoad { [super viewDidLoad]; - self.title = @"Pie Bar Chart"; + self.title = @"Pie Poly Line Chart"; self.options = @[ @{@"key": @"toggleValues", @"label": @"Toggle Y-Values"}, @{@"key": @"toggleXValues", @"label": @"Toggle X-Values"}, @{@"key": @"togglePercent", @"label": @"Toggle Percent"}, @{@"key": @"toggleHole", @"label": @"Toggle Hole"}, + @{@"key": @"toggleLabelsMinimumAngle", @"label": @"Toggle Labels Minimum Angle"}, @{@"key": @"animateX", @"label": @"Animate X"}, @{@"key": @"animateY", @"label": @"Animate Y"}, @{@"key": @"animateXY", @"label": @"Animate XY"}, @@ -82,7 +83,7 @@ - (void)setDataCount:(int)count range:(double)range [entries addObject:[[PieChartDataEntry alloc] initWithValue:(arc4random_uniform(mult) + mult / 5) label:parties[i % parties.count]]]; } - PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithValues:entries label:@"Election Results"]; + PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithEntries:entries label:@"Election Results"]; dataSet.sliceSpace = 2.0; // add a lot of colors @@ -144,6 +145,12 @@ - (void)optionTapped:(NSString *)key return; } + if ([key isEqualToString:@"toggleLabelsMinimumAngle"]) + { + CGFloat newMinimum = _chartView.sliceTextDrawingThreshold == 20.0 ? 0.0 : 20.0; + _chartView.sliceTextDrawingThreshold = newMinimum; + } + if ([key isEqualToString:@"drawCenter"]) { _chartView.drawCenterTextEnabled = !_chartView.isDrawCenterTextEnabled; diff --git a/ChartsDemo-iOS/Objective-C/Demos/PositiveNegativeBarChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/PositiveNegativeBarChartViewController.h index a566badb86..9d7411bba6 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/PositiveNegativeBarChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/PositiveNegativeBarChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface PositiveNegativeBarChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/PositiveNegativeBarChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/PositiveNegativeBarChartViewController.m index e0a86f4300..fe6e9be935 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/PositiveNegativeBarChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/PositiveNegativeBarChartViewController.m @@ -12,7 +12,7 @@ #import "PositiveNegativeBarChartViewController.h" #import "ChartsDemo_iOS-Swift.h" -@interface PositiveNegativeBarChartViewController () +@interface PositiveNegativeBarChartViewController () { NSArray *dataList; } @@ -27,7 +27,7 @@ - (void)viewDidLoad { [super viewDidLoad]; - self.title = @"Bar Chart"; + self.title = @"Positive/Negative Bar Chart"; self.options = @[ @{@"key": @"toggleValues", @"label": @"Toggle Values"}, @@ -149,7 +149,7 @@ - (void)setChartData } } - BarChartDataSet *set = set = [[BarChartDataSet alloc] initWithValues:values label:@"Values"]; + BarChartDataSet *set = set = [[BarChartDataSet alloc] initWithEntries:values label:@"Values"]; set.colors = colors; set.valueColors = colors; @@ -182,7 +182,7 @@ - (void)chartValueNothingSelected:(ChartViewBase * __nonnull)chartView NSLog(@"chartValueNothingSelected"); } -#pragma mark - IAxisValueFormatter +#pragma mark - AxisValueFormatter - (NSString *)stringForValue:(double)value axis:(ChartAxisBase *)axis diff --git a/ChartsDemo-iOS/Objective-C/Demos/RadarChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/RadarChartViewController.h index b9e13507e2..45263157f0 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/RadarChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/RadarChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface RadarChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/RadarChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/RadarChartViewController.m index 4446035f9d..231d70ecbd 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/RadarChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/RadarChartViewController.m @@ -12,13 +12,10 @@ #import "RadarChartViewController.h" #import "ChartsDemo_iOS-Swift.h" -@interface RadarChartViewController () +@interface RadarChartViewController () @property (nonatomic, strong) IBOutlet RadarChartView *chartView; @property (nonatomic, strong) NSArray *activities; -@property (nonatomic, strong) UIColor *originalBarBgColor; -@property (nonatomic, strong) UIColor *originalBarTintColor; -@property (nonatomic) UIBarStyle originalBarStyle; @end @@ -30,7 +27,7 @@ - (void)viewDidLoad self.activities = @[ @"Burger", @"Steak", @"Salad", @"Pasta", @"Pizza" ]; - self.title = @"Radar Bar Chart"; + self.title = @"Radar Chart"; self.options = @[ @{@"key": @"toggleValues", @"label": @"Toggle Values"}, @@ -90,34 +87,6 @@ - (void)viewDidLoad [_chartView animateWithXAxisDuration:1.4 yAxisDuration:1.4 easingOption:ChartEasingOptionEaseOutBack]; } -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - - [UIView animateWithDuration:0.15 animations:^{ - UINavigationBar *navigationBar = self.navigationController.navigationBar; - self.originalBarBgColor = navigationBar.barTintColor; - self.originalBarTintColor = navigationBar.tintColor; - self.originalBarStyle = navigationBar.barStyle; - - navigationBar.barTintColor = self.view.backgroundColor; - navigationBar.tintColor = UIColor.whiteColor; - navigationBar.barStyle = UIBarStyleBlack; - }]; -} - -- (void)viewWillDisappear:(BOOL)animated -{ - [super viewWillDisappear:animated]; - - [UIView animateWithDuration:0.15 animations:^{ - UINavigationBar *navigationBar = self.navigationController.navigationBar; - navigationBar.barTintColor = self.originalBarBgColor; - navigationBar.tintColor = self.originalBarTintColor; - navigationBar.barStyle = self.originalBarStyle; - }]; -} - - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; @@ -151,7 +120,7 @@ - (void)setChartData [entries2 addObject:[[RadarChartDataEntry alloc] initWithValue:(arc4random_uniform(mult) + min)]]; } - RadarChartDataSet *set1 = [[RadarChartDataSet alloc] initWithValues:entries1 label:@"Last Week"]; + RadarChartDataSet *set1 = [[RadarChartDataSet alloc] initWithEntries:entries1 label:@"Last Week"]; [set1 setColor:[UIColor colorWithRed:103/255.0 green:110/255.0 blue:129/255.0 alpha:1.0]]; set1.fillColor = [UIColor colorWithRed:103/255.0 green:110/255.0 blue:129/255.0 alpha:1.0]; set1.drawFilledEnabled = YES; @@ -160,7 +129,7 @@ - (void)setChartData set1.drawHighlightCircleEnabled = YES; [set1 setDrawHighlightIndicators:NO]; - RadarChartDataSet *set2 = [[RadarChartDataSet alloc] initWithValues:entries2 label:@"This Week"]; + RadarChartDataSet *set2 = [[RadarChartDataSet alloc] initWithEntries:entries2 label:@"This Week"]; [set2 setColor:[UIColor colorWithRed:121/255.0 green:162/255.0 blue:175/255.0 alpha:1.0]]; set2.fillColor = [UIColor colorWithRed:121/255.0 green:162/255.0 blue:175/255.0 alpha:1.0]; set2.drawFilledEnabled = YES; diff --git a/ChartsDemo-iOS/Objective-C/Demos/ScatterChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/ScatterChartViewController.h index 2989d22d8f..9d7a23506e 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/ScatterChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/ScatterChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface ScatterChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/ScatterChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/ScatterChartViewController.m index 5c5d6a9d16..19a158f640 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/ScatterChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/ScatterChartViewController.m @@ -28,7 +28,7 @@ - (void)viewDidLoad { [super viewDidLoad]; - self.title = @"Scatter Bar Chart"; + self.title = @"Scatter Chart"; self.options = @[ @{@"key": @"toggleValues", @"label": @"Toggle Values"}, @@ -110,15 +110,15 @@ - (void)setDataCount:(int)count range:(double)range [yVals3 addObject:[[ChartDataEntry alloc] initWithX:(double)i + 0.66 y:val]]; } - ScatterChartDataSet *set1 = [[ScatterChartDataSet alloc] initWithValues:yVals1 label:@"DS 1"]; + ScatterChartDataSet *set1 = [[ScatterChartDataSet alloc] initWithEntries:yVals1 label:@"DS 1"]; [set1 setScatterShape:ScatterShapeSquare]; [set1 setColor:ChartColorTemplates.colorful[0]]; - ScatterChartDataSet *set2 = [[ScatterChartDataSet alloc] initWithValues:yVals2 label:@"DS 2"]; + ScatterChartDataSet *set2 = [[ScatterChartDataSet alloc] initWithEntries:yVals2 label:@"DS 2"]; [set2 setScatterShape:ScatterShapeCircle]; set2.scatterShapeHoleColor = ChartColorTemplates.colorful[3]; set2.scatterShapeHoleRadius = 3.5f; [set2 setColor:ChartColorTemplates.colorful[1]]; - ScatterChartDataSet *set3 = [[ScatterChartDataSet alloc] initWithValues:yVals3 label:@"DS 3"]; + ScatterChartDataSet *set3 = [[ScatterChartDataSet alloc] initWithEntries:yVals3 label:@"DS 3"]; [set3 setScatterShape:ScatterShapeCross]; [set3 setColor:ChartColorTemplates.colorful[2]]; diff --git a/ChartsDemo-iOS/Objective-C/Demos/SinusBarChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/SinusBarChartViewController.h index aa94a9fd64..fc7848792b 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/SinusBarChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/SinusBarChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface SinusBarChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/SinusBarChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/SinusBarChartViewController.m index c945986a36..e64bf3388b 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/SinusBarChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/SinusBarChartViewController.m @@ -118,13 +118,13 @@ - (void)setDataCount:(int)count if (_chartView.data.dataSetCount > 0) { set = (BarChartDataSet *)_chartView.data.dataSets[0]; - set.values = entries; + [set replaceEntries: entries]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set = [[BarChartDataSet alloc] initWithValues:entries label:@"Sinus Function"]; + set = [[BarChartDataSet alloc] initWithEntries:entries label:@"Sinus Function"]; [set setColor:[UIColor colorWithRed:240/255.f green:120/255.f blue:124/255.f alpha:1.f]]; BarChartData *data = [[BarChartData alloc] initWithDataSet:set]; diff --git a/ChartsDemo-iOS/Objective-C/Demos/StackedBarChartViewController.h b/ChartsDemo-iOS/Objective-C/Demos/StackedBarChartViewController.h index 5ef6f2797b..762781bf03 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/StackedBarChartViewController.h +++ b/ChartsDemo-iOS/Objective-C/Demos/StackedBarChartViewController.h @@ -11,7 +11,7 @@ #import #import "DemoBaseViewController.h" -#import +#import @interface StackedBarChartViewController : DemoBaseViewController diff --git a/ChartsDemo-iOS/Objective-C/Demos/StackedBarChartViewController.m b/ChartsDemo-iOS/Objective-C/Demos/StackedBarChartViewController.m index 0a572b4cf8..69fb1053bf 100644 --- a/ChartsDemo-iOS/Objective-C/Demos/StackedBarChartViewController.m +++ b/ChartsDemo-iOS/Objective-C/Demos/StackedBarChartViewController.m @@ -119,13 +119,13 @@ - (void)setDataCount:(int)count range:(double)range if (_chartView.data.dataSetCount > 0) { set1 = (BarChartDataSet *)_chartView.data.dataSets[0]; - set1.values = yVals; + [set1 replaceEntries: yVals]; [_chartView.data notifyDataChanged]; [_chartView notifyDataSetChanged]; } else { - set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@"Statistics Vienna 2014"]; + set1 = [[BarChartDataSet alloc] initWithEntries:yVals label:@"Statistics Vienna 2014"]; set1.drawIconsEnabled = NO; diff --git a/ChartsDemo-iOS/Objective-C/Formatters/DateValueFormatter.h b/ChartsDemo-iOS/Objective-C/Formatters/DateValueFormatter.h index 2e94536aa7..770ff31643 100644 --- a/ChartsDemo-iOS/Objective-C/Formatters/DateValueFormatter.h +++ b/ChartsDemo-iOS/Objective-C/Formatters/DateValueFormatter.h @@ -12,6 +12,6 @@ #import #import "ChartsDemo_iOS-Swift.h" -@interface DateValueFormatter : NSObject +@interface DateValueFormatter : NSObject @end diff --git a/ChartsDemo-iOS/Objective-C/Formatters/DayAxisValueFormatter.h b/ChartsDemo-iOS/Objective-C/Formatters/DayAxisValueFormatter.h index 4de193d0c5..3189325a90 100644 --- a/ChartsDemo-iOS/Objective-C/Formatters/DayAxisValueFormatter.h +++ b/ChartsDemo-iOS/Objective-C/Formatters/DayAxisValueFormatter.h @@ -7,7 +7,7 @@ #import #import "ChartsDemo_iOS-Swift.h" -@interface DayAxisValueFormatter : NSObject +@interface DayAxisValueFormatter : NSObject - (id)initForChart:(BarLineChartViewBase *)chart; diff --git a/ChartsDemo-iOS/Objective-C/Formatters/IntAxisValueFormatter.h b/ChartsDemo-iOS/Objective-C/Formatters/IntAxisValueFormatter.h index 6401ed07d4..c390c0bcc3 100644 --- a/ChartsDemo-iOS/Objective-C/Formatters/IntAxisValueFormatter.h +++ b/ChartsDemo-iOS/Objective-C/Formatters/IntAxisValueFormatter.h @@ -7,6 +7,6 @@ #import #import "ChartsDemo_iOS-Swift.h" -@interface IntAxisValueFormatter : NSObject +@interface IntAxisValueFormatter : NSObject @end diff --git a/ChartsDemo-iOS/Objective-C/Formatters/LargeValueFormatter.swift b/ChartsDemo-iOS/Objective-C/Formatters/LargeValueFormatter.swift index 47ca78fd5e..a608ff2c5a 100644 --- a/ChartsDemo-iOS/Objective-C/Formatters/LargeValueFormatter.swift +++ b/ChartsDemo-iOS/Objective-C/Formatters/LargeValueFormatter.swift @@ -5,9 +5,9 @@ // import Foundation -import Charts +import DGCharts -open class LargeValueFormatter: NSObject, IValueFormatter, IAxisValueFormatter +open class LargeValueFormatter: NSObject, ValueFormatter, AxisValueFormatter { fileprivate static let MAX_LENGTH = 5 diff --git a/ChartsDemo-iOS/Swift/AppDelegate.swift b/ChartsDemo-iOS/Swift/AppDelegate.swift index 7f13108e70..234734226b 100644 --- a/ChartsDemo-iOS/Swift/AppDelegate.swift +++ b/ChartsDemo-iOS/Swift/AppDelegate.swift @@ -6,20 +6,28 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. self.window = UIWindow(frame: UIScreen.main.bounds) let vc = DemoListViewController() let nav = UINavigationController(rootViewController: vc) + if #available(iOS 13.0, *) { + let appearance = UINavigationBarAppearance() + appearance.configureWithOpaqueBackground() + nav.navigationBar.standardAppearance = appearance + nav.navigationBar.scrollEdgeAppearance = appearance + } window?.rootViewController = nav window?.makeKeyAndVisible() diff --git a/ChartsDemo-iOS/Swift/Components/BalloonMarker.swift b/ChartsDemo-iOS/Swift/Components/BalloonMarker.swift deleted file mode 100644 index 4e9826bf55..0000000000 --- a/ChartsDemo-iOS/Swift/Components/BalloonMarker.swift +++ /dev/null @@ -1,206 +0,0 @@ -// -// BalloonMarker.swift -// ChartsDemo-Swift -// -// Copyright 2015 Daniel Cohen Gindi & Philipp Jahoda -// A port of MPAndroidChart for iOS -// Licensed under Apache License 2.0 -// -// https://github.com/danielgindi/Charts -// - -import Foundation -import Charts - -open class BalloonMarker: MarkerImage -{ - open var color: UIColor - open var arrowSize = CGSize(width: 15, height: 11) - open var font: UIFont - open var textColor: UIColor - open var insets: UIEdgeInsets - open var minimumSize = CGSize() - - fileprivate var label: String? - fileprivate var _labelSize: CGSize = CGSize() - fileprivate var _paragraphStyle: NSMutableParagraphStyle? - fileprivate var _drawAttributes = [NSAttributedStringKey : AnyObject]() - - public init(color: UIColor, font: UIFont, textColor: UIColor, insets: UIEdgeInsets) - { - self.color = color - self.font = font - self.textColor = textColor - self.insets = insets - - _paragraphStyle = NSParagraphStyle.default.mutableCopy() as? NSMutableParagraphStyle - _paragraphStyle?.alignment = .center - super.init() - } - - open override func offsetForDrawing(atPoint point: CGPoint) -> CGPoint - { - var offset = self.offset - var size = self.size - - if size.width == 0.0 && image != nil - { - size.width = image!.size.width - } - if size.height == 0.0 && image != nil - { - size.height = image!.size.height - } - - let width = size.width - let height = size.height - let padding: CGFloat = 8.0 - - var origin = point - origin.x -= width / 2 - origin.y -= height - - if origin.x + offset.x < 0.0 - { - offset.x = -origin.x + padding - } - else if let chart = chartView, - origin.x + width + offset.x > chart.bounds.size.width - { - offset.x = chart.bounds.size.width - origin.x - width - padding - } - - if origin.y + offset.y < 0 - { - offset.y = height + padding; - } - else if let chart = chartView, - origin.y + height + offset.y > chart.bounds.size.height - { - offset.y = chart.bounds.size.height - origin.y - height - padding - } - - return offset - } - - open override func draw(context: CGContext, point: CGPoint) - { - guard let label = label else { return } - - let offset = self.offsetForDrawing(atPoint: point) - let size = self.size - - var rect = CGRect( - origin: CGPoint( - x: point.x + offset.x, - y: point.y + offset.y), - size: size) - rect.origin.x -= size.width / 2.0 - rect.origin.y -= size.height - - context.saveGState() - - context.setFillColor(color.cgColor) - - if offset.y > 0 - { - context.beginPath() - context.move(to: CGPoint( - x: rect.origin.x, - y: rect.origin.y + arrowSize.height)) - context.addLine(to: CGPoint( - x: rect.origin.x + (rect.size.width - arrowSize.width) / 2.0, - y: rect.origin.y + arrowSize.height)) - //arrow vertex - context.addLine(to: CGPoint( - x: point.x, - y: point.y)) - context.addLine(to: CGPoint( - x: rect.origin.x + (rect.size.width + arrowSize.width) / 2.0, - y: rect.origin.y + arrowSize.height)) - context.addLine(to: CGPoint( - x: rect.origin.x + rect.size.width, - y: rect.origin.y + arrowSize.height)) - context.addLine(to: CGPoint( - x: rect.origin.x + rect.size.width, - y: rect.origin.y + rect.size.height)) - context.addLine(to: CGPoint( - x: rect.origin.x, - y: rect.origin.y + rect.size.height)) - context.addLine(to: CGPoint( - x: rect.origin.x, - y: rect.origin.y + arrowSize.height)) - context.fillPath() - } - else - { - context.beginPath() - context.move(to: CGPoint( - x: rect.origin.x, - y: rect.origin.y)) - context.addLine(to: CGPoint( - x: rect.origin.x + rect.size.width, - y: rect.origin.y)) - context.addLine(to: CGPoint( - x: rect.origin.x + rect.size.width, - y: rect.origin.y + rect.size.height - arrowSize.height)) - context.addLine(to: CGPoint( - x: rect.origin.x + (rect.size.width + arrowSize.width) / 2.0, - y: rect.origin.y + rect.size.height - arrowSize.height)) - //arrow vertex - context.addLine(to: CGPoint( - x: point.x, - y: point.y)) - context.addLine(to: CGPoint( - x: rect.origin.x + (rect.size.width - arrowSize.width) / 2.0, - y: rect.origin.y + rect.size.height - arrowSize.height)) - context.addLine(to: CGPoint( - x: rect.origin.x, - y: rect.origin.y + rect.size.height - arrowSize.height)) - context.addLine(to: CGPoint( - x: rect.origin.x, - y: rect.origin.y)) - context.fillPath() - } - - if offset.y > 0 { - rect.origin.y += self.insets.top + arrowSize.height - } else { - rect.origin.y += self.insets.top - } - - rect.size.height -= self.insets.top + self.insets.bottom - - UIGraphicsPushContext(context) - - label.draw(in: rect, withAttributes: _drawAttributes) - - UIGraphicsPopContext() - - context.restoreGState() - } - - open override func refreshContent(entry: ChartDataEntry, highlight: Highlight) - { - setLabel(String(entry.y)) - } - - open func setLabel(_ newLabel: String) - { - label = newLabel - - _drawAttributes.removeAll() - _drawAttributes[.font] = self.font - _drawAttributes[.paragraphStyle] = _paragraphStyle - _drawAttributes[.foregroundColor] = self.textColor - - _labelSize = label?.size(withAttributes: _drawAttributes) ?? CGSize.zero - - var size = CGSize() - size.width = _labelSize.width + self.insets.left + self.insets.right - size.height = _labelSize.height + self.insets.top + self.insets.bottom - size.width = max(minimumSize.width, size.width) - size.height = max(minimumSize.height, size.height) - self.size = size - } -} diff --git a/ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift b/ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift index 019196d5e8..fa6848698f 100644 --- a/ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift +++ b/ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift @@ -10,7 +10,10 @@ // import Foundation -import Charts +import DGCharts +#if canImport(UIKit) + import UIKit +#endif public class RadarMarkerView: MarkerView { @IBOutlet var label: UILabel! diff --git a/ChartsDemo-iOS/Swift/Components/XYMarkerView.swift b/ChartsDemo-iOS/Swift/Components/XYMarkerView.swift index 23bb965487..be53cfe1ce 100644 --- a/ChartsDemo-iOS/Swift/Components/XYMarkerView.swift +++ b/ChartsDemo-iOS/Swift/Components/XYMarkerView.swift @@ -7,14 +7,17 @@ // import Foundation -import Charts +import DGCharts +#if canImport(UIKit) + import UIKit +#endif public class XYMarkerView: BalloonMarker { - public var xAxisValueFormatter: IAxisValueFormatter + public var xAxisValueFormatter: AxisValueFormatter fileprivate var yFormatter = NumberFormatter() public init(color: UIColor, font: UIFont, textColor: UIColor, insets: UIEdgeInsets, - xAxisValueFormatter: IAxisValueFormatter) { + xAxisValueFormatter: AxisValueFormatter) { self.xAxisValueFormatter = xAxisValueFormatter yFormatter.minimumFractionDigits = 1 yFormatter.maximumFractionDigits = 1 diff --git a/ChartsDemo-iOS/Swift/DemoBaseViewController.swift b/ChartsDemo-iOS/Swift/DemoBaseViewController.swift index d96b07ef7f..da2afe2d4e 100644 --- a/ChartsDemo-iOS/Swift/DemoBaseViewController.swift +++ b/ChartsDemo-iOS/Swift/DemoBaseViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts enum Option { case toggleValues @@ -21,6 +23,8 @@ enum Option { case toggleAutoScaleMinMax case toggleData case toggleBarBorders + // LineChart + case toggleGradientLine // CandleChart case toggleShadowColorSameAsCandle case toggleShowCandleBar @@ -40,6 +44,7 @@ enum Option { case toggleHole case spin case drawCenter + case toggleLabelsMinimumAngle // RadarChart case toggleXLabels case toggleYLabels @@ -59,6 +64,8 @@ enum Option { case .toggleAutoScaleMinMax: return "Toggle auto scale min/max" case .toggleData: return "Toggle Data" case .toggleBarBorders: return "Toggle Bar Borders" + // LineChart + case .toggleGradientLine: return "Toggle Gradient Line" // CandleChart case .toggleShadowColorSameAsCandle: return "Toggle shadow same color" case .toggleShowCandleBar: return "Toggle show candle bar" @@ -78,6 +85,7 @@ enum Option { case .toggleHole: return "Toggle Hole" case .spin: return "Spin" case .drawCenter: return "Draw CenterText" + case .toggleLabelsMinimumAngle: return "Toggle Labels Minimum Angle" // RadarChart case .toggleXLabels: return "Toggle X-Labels" case .toggleYLabels: return "Toggle Y-Labels" @@ -119,19 +127,19 @@ class DemoBaseViewController: UIViewController, ChartViewDelegate { func handleOption(_ option: Option, forChartView chartView: ChartViewBase) { switch option { case .toggleValues: - for set in chartView.data!.dataSets { + for set in chartView.data! { set.drawValuesEnabled = !set.drawValuesEnabled } chartView.setNeedsDisplay() case .toggleIcons: - for set in chartView.data!.dataSets { + for set in chartView.data! { set.drawIconsEnabled = !set.drawIconsEnabled } chartView.setNeedsDisplay() case .toggleHighlight: - chartView.data!.highlightEnabled = !chartView.data!.isHighlightEnabled + chartView.data!.isHighlightEnabled = !chartView.data!.isHighlightEnabled chartView.setNeedsDisplay() case .animateX: @@ -161,7 +169,7 @@ class DemoBaseViewController: UIViewController, ChartViewDelegate { updateChartData() case .toggleBarBorders: - for set in chartView.data!.dataSets { + for set in chartView.data! { if let set = set as? BarChartDataSet { set.barBorderWidth = set.barBorderWidth == 1.0 ? 0.0 : 1.0 } @@ -236,7 +244,7 @@ class DemoBaseViewController: UIViewController, ChartViewDelegate { chartView.drawSlicesUnderHoleEnabled = false chartView.holeRadiusPercent = 0.58 chartView.transparentCircleRadiusPercent = 0.61 - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.setExtraOffsets(left: 5, top: 10, right: 5, bottom: 5) chartView.drawCenterTextEnabled = true @@ -271,11 +279,11 @@ class DemoBaseViewController: UIViewController, ChartViewDelegate { } func setup(radarChartView chartView: RadarChartView) { - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false } func setup(barLineChartView chartView: BarLineChartViewBase) { - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.dragEnabled = true chartView.setScaleEnabled(true) @@ -328,10 +336,10 @@ extension DemoBaseViewController: UITableViewDelegate, UITableViewDataSource { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { if optionsTableView != nil { - return 40.0; + return 40.0 } - return 44.0; + return 44.0 } @available(iOS 2.0, *) @@ -352,10 +360,8 @@ extension DemoBaseViewController: UITableViewDelegate, UITableViewDataSource { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { if optionsTableView != nil { tableView.deselectRow(at: indexPath, animated: true) - optionsTableView?.removeFromSuperview() self.optionsTableView = nil - self.optionTapped(self.options[indexPath.row]) } diff --git a/ChartsDemo-iOS/Swift/DemoListViewController.swift b/ChartsDemo-iOS/Swift/DemoListViewController.swift index 1322e488cb..f11ef9f528 100644 --- a/ChartsDemo-iOS/Swift/DemoListViewController.swift +++ b/ChartsDemo-iOS/Swift/DemoListViewController.swift @@ -6,7 +6,9 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit +#if canImport(UIKit) + import UIKit +#endif private struct ItemDef { let title: String diff --git a/ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift index abe86cd94a..115ede1159 100644 --- a/ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class AnotherBarChartViewController: DemoBaseViewController { @@ -21,6 +23,8 @@ class AnotherBarChartViewController: DemoBaseViewController { super.viewDidLoad() // Do any additional setup after loading the view. + self.title = "Another Bar Chart" + self.options = [.toggleValues, .toggleHighlight, .animateX, @@ -33,7 +37,7 @@ class AnotherBarChartViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.maxVisibleCount = 60 chartView.pinchZoomEnabled = false chartView.drawBarShadowEnabled = false @@ -66,13 +70,13 @@ class AnotherBarChartViewController: DemoBaseViewController { } var set1: BarChartDataSet! = nil - if let set = chartView.data?.dataSets.first as? BarChartDataSet { + if let set = chartView.data?.first as? BarChartDataSet { set1 = set - set1?.values = yVals + set1?.replaceEntries(yVals) chartView.data?.notifyDataChanged() chartView.notifyDataSetChanged() } else { - set1 = BarChartDataSet(values: yVals, label: "Data Set") + set1 = BarChartDataSet(entries: yVals, label: "Data Set") set1.colors = ChartColorTemplates.vordiplom() set1.drawValuesEnabled = false diff --git a/ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift index a9a629120a..16b3837601 100644 --- a/ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift @@ -6,8 +6,13 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts +#if canImport(UIKit) + import UIKit +#endif class BarChartViewController: DemoBaseViewController { @@ -119,13 +124,13 @@ class BarChartViewController: DemoBaseViewController { } var set1: BarChartDataSet! = nil - if let set = chartView.data?.dataSets.first as? BarChartDataSet { + if let set = chartView.data?.first as? BarChartDataSet { set1 = set - set1.values = yVals + set1.replaceEntries(yVals) chartView.data?.notifyDataChanged() chartView.notifyDataSetChanged() } else { - set1 = BarChartDataSet(values: yVals, label: "The year 2017") + set1 = BarChartDataSet(entries: yVals, label: "The year 2017") set1.colors = ChartColorTemplates.material() set1.drawValuesEnabled = false diff --git a/ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift index 61d944b735..93e6e17f8a 100644 --- a/ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class BubbleChartViewController: DemoBaseViewController { @@ -35,7 +37,7 @@ class BubbleChartViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.dragEnabled = false chartView.setScaleEnabled(true) @@ -89,22 +91,22 @@ class BubbleChartViewController: DemoBaseViewController { return BubbleChartDataEntry(x: Double(i), y: val, size: size) } - let set1 = BubbleChartDataSet(values: yVals1, label: "DS 1") + let set1 = BubbleChartDataSet(entries: yVals1, label: "DS 1") set1.drawIconsEnabled = false set1.setColor(ChartColorTemplates.colorful()[0], alpha: 0.5) set1.drawValuesEnabled = true - let set2 = BubbleChartDataSet(values: yVals2, label: "DS 2") + let set2 = BubbleChartDataSet(entries: yVals2, label: "DS 2") set2.drawIconsEnabled = false set2.iconsOffset = CGPoint(x: 0, y: 15) set2.setColor(ChartColorTemplates.colorful()[1], alpha: 0.5) set2.drawValuesEnabled = true - let set3 = BubbleChartDataSet(values: yVals3, label: "DS 3") + let set3 = BubbleChartDataSet(entries: yVals3, label: "DS 3") set3.setColor(ChartColorTemplates.colorful()[2], alpha: 0.5) set3.drawValuesEnabled = true - let data = BubbleChartData(dataSets: [set1, set2, set3]) + let data = [set1, set2, set3] as BubbleChartData data.setDrawValues(false) data.setValueFont(UIFont(name: "HelveticaNeue-Light", size: 7)!) data.setHighlightCircleWidth(1.5) diff --git a/ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift index aa7508cc19..0f75fc0f40 100644 --- a/ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class CandleStickChartViewController: DemoBaseViewController { @@ -21,7 +23,7 @@ class CandleStickChartViewController: DemoBaseViewController { super.viewDidLoad() // Do any additional setup after loading the view. - self.title = "Bubble Chart" + self.title = "Candle Stick Chart" self.options = [.toggleValues, .toggleIcons, .toggleHighlight, @@ -37,7 +39,7 @@ class CandleStickChartViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.dragEnabled = false chartView.setScaleEnabled(true) @@ -87,7 +89,7 @@ class CandleStickChartViewController: DemoBaseViewController { return CandleChartDataEntry(x: Double(i), shadowH: val + high, shadowL: val - low, open: even ? val + open : val - open, close: even ? val - close : val + close, icon: UIImage(named: "icon")!) } - let set1 = CandleChartDataSet(values: yVals1, label: "Data Set") + let set1 = CandleChartDataSet(entries: yVals1, label: "Data Set") set1.axisDependency = .left set1.setColor(UIColor(white: 80/255, alpha: 1)) set1.drawIconsEnabled = false @@ -106,7 +108,7 @@ class CandleStickChartViewController: DemoBaseViewController { override func optionTapped(_ option: Option) { switch option { case .toggleShadowColorSameAsCandle: - for set in chartView.data!.dataSets as! [CandleChartDataSet] { + for case let set as CandleChartDataSet in chartView.data! { set.shadowColorSameAsCandle = !set.shadowColorSameAsCandle } chartView.notifyDataSetChanged() diff --git a/ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift index a5309ea707..76745abe93 100644 --- a/ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class ColoredLineChartViewController: DemoBaseViewController { @IBOutlet var chartViews: [LineChartView]! @@ -31,12 +33,12 @@ class ColoredLineChartViewController: DemoBaseViewController { } func setupChart(_ chart: LineChartView, data: LineChartData, color: UIColor) { - (data.getDataSetByIndex(0) as! LineChartDataSet).circleHoleColor = color + (data[0] as! LineChartDataSet).circleHoleColor = color chart.delegate = self chart.backgroundColor = color - chart.chartDescription?.enabled = false + chart.chartDescription.enabled = false chart.dragEnabled = true chart.setScaleEnabled(true) @@ -62,7 +64,7 @@ class ColoredLineChartViewController: DemoBaseViewController { return ChartDataEntry(x: Double(i), y: val) } - let set1 = LineChartDataSet(values: yVals, label: "DataSet 1") + let set1 = LineChartDataSet(entries: yVals, label: "DataSet 1") set1.lineWidth = 1.75 set1.circleRadius = 5.0 diff --git a/ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift index d3162293a7..3d502862c7 100644 --- a/ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift @@ -6,8 +6,13 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts +#if canImport(UIKit) + import UIKit +#endif private let ITEM_COUNT = 12 @@ -34,7 +39,7 @@ class CombinedChartViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.drawBarShadowEnabled = false chartView.highlightFullBarEnabled = false @@ -94,7 +99,7 @@ class CombinedChartViewController: DemoBaseViewController { override func optionTapped(_ option: Option) { switch option { case .toggleLineValues: - for set in chartView.data!.dataSets { + for set in chartView.data! { if let set = set as? LineChartDataSet { set.drawValuesEnabled = !set .drawValuesEnabled @@ -103,7 +108,7 @@ class CombinedChartViewController: DemoBaseViewController { chartView.setNeedsDisplay() case .toggleBarValues: - for set in chartView.data!.dataSets { + for set in chartView.data! { if let set = set as? BarChartDataSet { set.drawValuesEnabled = !set .drawValuesEnabled } @@ -112,7 +117,7 @@ class CombinedChartViewController: DemoBaseViewController { case .removeDataSet: let rnd = Int(arc4random_uniform(UInt32(chartView.data!.dataSetCount))) - chartView.data?.removeDataSet(chartView.data!.getDataSetByIndex(rnd)) + chartView.data?.removeDataSet(chartView.data![rnd]) chartView.data?.notifyDataChanged() chartView.notifyDataSetChanged() @@ -126,7 +131,7 @@ class CombinedChartViewController: DemoBaseViewController { return ChartDataEntry(x: Double(i) + 0.5, y: Double(arc4random_uniform(15) + 5)) } - let set = LineChartDataSet(values: entries, label: "Line DataSet") + let set = LineChartDataSet(entries: entries, label: "Line DataSet") set.setColor(UIColor(red: 240/255, green: 238/255, blue: 70/255, alpha: 1)) set.lineWidth = 2.5 set.setCircleColor(UIColor(red: 240/255, green: 238/255, blue: 70/255, alpha: 1)) @@ -151,13 +156,13 @@ class CombinedChartViewController: DemoBaseViewController { return BarChartDataEntry(x: 0, yValues: [Double(arc4random_uniform(13) + 12), Double(arc4random_uniform(13) + 12)]) } - let set1 = BarChartDataSet(values: entries1, label: "Bar 1") + let set1 = BarChartDataSet(entries: entries1, label: "Bar 1") set1.setColor(UIColor(red: 60/255, green: 220/255, blue: 78/255, alpha: 1)) set1.valueTextColor = UIColor(red: 60/255, green: 220/255, blue: 78/255, alpha: 1) set1.valueFont = .systemFont(ofSize: 10) set1.axisDependency = .left - let set2 = BarChartDataSet(values: entries2, label: "") + let set2 = BarChartDataSet(entries: entries2, label: "") set2.stackLabels = ["Stack 1", "Stack 2"] set2.colors = [UIColor(red: 61/255, green: 165/255, blue: 255/255, alpha: 1), UIColor(red: 23/255, green: 197/255, blue: 255/255, alpha: 1) @@ -171,7 +176,7 @@ class CombinedChartViewController: DemoBaseViewController { let barWidth = 0.45 // x2 dataset // (0.45 + 0.02) * 2 + 0.06 = 1.00 -> interval per "group" - let data = BarChartData(dataSets: [set1, set2]) + let data: BarChartData = [set1, set2] data.barWidth = barWidth // make this BarData object grouped @@ -185,7 +190,7 @@ class CombinedChartViewController: DemoBaseViewController { return ChartDataEntry(x: i+0.25, y: Double(arc4random_uniform(10) + 55)) } - let set = ScatterChartDataSet(values: entries, label: "Scatter DataSet") + let set = ScatterChartDataSet(entries: entries, label: "Scatter DataSet") set.colors = ChartColorTemplates.material() set.scatterShapeSize = 4.5 set.drawValuesEnabled = false @@ -199,7 +204,7 @@ class CombinedChartViewController: DemoBaseViewController { return CandleChartDataEntry(x: Double(i+1), shadowH: 90, shadowL: 70, open: 85, close: 75) } - let set = CandleChartDataSet(values: entries, label: "Candle DataSet") + let set = CandleChartDataSet(entries: entries, label: "Candle DataSet") set.setColor(UIColor(red: 80/255, green: 80/255, blue: 80/255, alpha: 1)) set.decreasingColor = UIColor(red: 142/255, green: 150/255, blue: 175/255, alpha: 1) set.shadowColor = .darkGray @@ -216,7 +221,7 @@ class CombinedChartViewController: DemoBaseViewController { size: CGFloat(arc4random_uniform(50) + 105)) } - let set = BubbleChartDataSet(values: entries, label: "Bubble DataSet") + let set = BubbleChartDataSet(entries: entries, label: "Bubble DataSet") set.setColors(ChartColorTemplates.vordiplom(), alpha: 1) set.valueTextColor = .white set.valueFont = .systemFont(ofSize: 10) @@ -226,7 +231,7 @@ class CombinedChartViewController: DemoBaseViewController { } } -extension CombinedChartViewController: IAxisValueFormatter { +extension CombinedChartViewController: AxisValueFormatter { func stringForValue(_ value: Double, axis: AxisBase?) -> String { return months[Int(value) % months.count] } diff --git a/ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift index 627d13d08d..66cbd2608f 100644 --- a/ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift @@ -6,11 +6,13 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts -private class CubicLineSampleFillFormatter: IFillFormatter { - func getFillLinePosition(dataSet: ILineChartDataSet, dataProvider: LineChartDataProvider) -> CGFloat { +private class CubicLineSampleFillFormatter: FillFormatter { + func getFillLinePosition(dataSet: LineChartDataSetProtocol, dataProvider: LineChartDataProvider) -> CGFloat { return -10 } } @@ -89,7 +91,7 @@ class CubicLineChartViewController: DemoBaseViewController { return ChartDataEntry(x: Double(i), y: val) } - let set1 = LineChartDataSet(values: yVals1, label: "DataSet 1") + let set1 = LineChartDataSet(entries: yVals1, label: "DataSet 1") set1.mode = .cubicBezier set1.drawCirclesEnabled = false set1.lineWidth = 1.8 @@ -109,33 +111,35 @@ class CubicLineChartViewController: DemoBaseViewController { } override func optionTapped(_ option: Option) { + guard let data = chartView.data else { return } + switch option { case .toggleFilled: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.drawFilledEnabled = !set.drawFilledEnabled } chartView.setNeedsDisplay() case .toggleCircles: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.drawCirclesEnabled = !set.drawCirclesEnabled } chartView.setNeedsDisplay() case .toggleCubic: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .cubicBezier) ? .linear : .cubicBezier } chartView.setNeedsDisplay() case .toggleStepped: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .stepped) ? .linear : .stepped } chartView.setNeedsDisplay() case .toggleHorizontalCubic: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .cubicBezier) ? .horizontalBezier : .cubicBezier } chartView.setNeedsDisplay() diff --git a/ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift index 7c4ed80ba7..c559b8cb1b 100644 --- a/ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class HalfPieChartViewController: DemoBaseViewController { @@ -17,7 +19,7 @@ class HalfPieChartViewController: DemoBaseViewController { super.viewDidLoad() // Do any additional setup after loading the view. - self.title = "Half Pie Bar Chart" + self.title = "Half Pie Chart" self.options = [.toggleValues, .toggleXValues, @@ -80,7 +82,7 @@ class HalfPieChartViewController: DemoBaseViewController { label: parties[i % parties.count]) } - let set = PieChartDataSet(values: entries, label: "Election Results") + let set = PieChartDataSet(entries: entries, label: "Election Results") set.sliceSpace = 3 set.selectionShift = 5 set.colors = ChartColorTemplates.material() diff --git a/ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift index 2dbcab9491..d0c4a39dca 100644 --- a/ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class HorizontalBarChartViewController: DemoBaseViewController { @@ -100,7 +102,7 @@ class HorizontalBarChartViewController: DemoBaseViewController { return BarChartDataEntry(x: Double(i)*spaceForBar, y: val, icon: #imageLiteral(resourceName: "icon")) } - let set1 = BarChartDataSet(values: yVals, label: "DataSet") + let set1 = BarChartDataSet(entries: yVals, label: "DataSet") set1.drawIconsEnabled = false let data = BarChartData(dataSet: set1) diff --git a/ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift b/ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift index 6f34b8b763..df91e64c85 100644 --- a/ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift @@ -7,7 +7,7 @@ // import UIKit -import Charts +import DGCharts class LineChart1ViewController: DemoBaseViewController { @@ -30,6 +30,7 @@ class LineChart1ViewController: DemoBaseViewController { .toggleIcons, .toggleStepped, .toggleHighlight, + .toggleGradientLine, .animateX, .animateY, .animateXY, @@ -37,36 +38,36 @@ class LineChart1ViewController: DemoBaseViewController { .togglePinchZoom, .toggleAutoScaleMinMax, .toggleData] - + chartView.delegate = self - - chartView.chartDescription?.enabled = false + + chartView.chartDescription.enabled = false chartView.dragEnabled = true chartView.setScaleEnabled(true) chartView.pinchZoomEnabled = true - + // x-axis limit line let llXAxis = ChartLimitLine(limit: 10, label: "Index 10") llXAxis.lineWidth = 4 llXAxis.lineDashLengths = [10, 10, 0] llXAxis.labelPosition = .rightBottom llXAxis.valueFont = .systemFont(ofSize: 10) - + chartView.xAxis.gridLineDashLengths = [10, 10] chartView.xAxis.gridLineDashPhase = 0 - + let ll1 = ChartLimitLine(limit: 150, label: "Upper Limit") ll1.lineWidth = 4 ll1.lineDashLengths = [5, 5] ll1.labelPosition = .rightTop ll1.valueFont = .systemFont(ofSize: 10) - + let ll2 = ChartLimitLine(limit: -30, label: "Lower Limit") ll2.lineWidth = 4 ll2.lineDashLengths = [5,5] ll2.labelPosition = .rightBottom ll2.valueFont = .systemFont(ofSize: 10) - + let leftAxis = chartView.leftAxis leftAxis.removeAllLimitLines() leftAxis.addLimitLine(ll1) @@ -75,9 +76,9 @@ class LineChart1ViewController: DemoBaseViewController { leftAxis.axisMinimum = -50 leftAxis.gridLineDashLengths = [5, 5] leftAxis.drawLimitLinesBehindDataEnabled = true - + chartView.rightAxis.enabled = false - + //[_chartView.viewPortHandler setMaximumScaleY: 2.f]; //[_chartView.viewPortHandler setMaximumScaleX: 2.f]; @@ -88,13 +89,13 @@ class LineChart1ViewController: DemoBaseViewController { marker.chartView = chartView marker.minimumSize = CGSize(width: 80, height: 40) chartView.marker = marker - + chartView.legend.form = .line - + sliderX.value = 45 sliderY.value = 100 slidersValueChanged(nil) - + chartView.animate(xAxisDuration: 2.5) } @@ -103,7 +104,7 @@ class LineChart1ViewController: DemoBaseViewController { chartView.data = nil return } - + self.setDataCount(Int(sliderX.value), range: UInt32(sliderY.value)) } @@ -112,67 +113,95 @@ class LineChart1ViewController: DemoBaseViewController { let val = Double(arc4random_uniform(range) + 3) return ChartDataEntry(x: Double(i), y: val, icon: #imageLiteral(resourceName: "icon")) } - - let set1 = LineChartDataSet(values: values, label: "DataSet 1") + + let set1 = LineChartDataSet(entries: values, label: "DataSet 1") set1.drawIconsEnabled = false - - set1.lineDashLengths = [5, 2.5] - set1.highlightLineDashLengths = [5, 2.5] - set1.setColor(.black) - set1.setCircleColor(.black) - set1.lineWidth = 1 - set1.circleRadius = 3 - set1.drawCircleHoleEnabled = false - set1.valueFont = .systemFont(ofSize: 9) - set1.formLineDashLengths = [5, 2.5] - set1.formLineWidth = 1 - set1.formSize = 15 - + setup(set1) + + let value = ChartDataEntry(x: Double(3), y: 3) + set1.addEntryOrdered(value) let gradientColors = [ChartColorTemplates.colorFromString("#00ff0000").cgColor, ChartColorTemplates.colorFromString("#ffff0000").cgColor] let gradient = CGGradient(colorsSpace: nil, colors: gradientColors as CFArray, locations: nil)! - + set1.fillAlpha = 1 - set1.fill = Fill(linearGradient: gradient, angle: 90) //.linearGradient(gradient, angle: 90) + set1.fill = LinearGradientFill(gradient: gradient, angle: 90) set1.drawFilledEnabled = true - + let data = LineChartData(dataSet: set1) - + chartView.data = data } - + + private func setup(_ dataSet: LineChartDataSet) { + if dataSet.isDrawLineWithGradientEnabled { + dataSet.lineDashLengths = nil + dataSet.highlightLineDashLengths = nil + dataSet.setColors(.black, .red, .white) + dataSet.setCircleColor(.black) + dataSet.gradientPositions = [0, 40, 100] + dataSet.lineWidth = 1 + dataSet.circleRadius = 3 + dataSet.drawCircleHoleEnabled = false + dataSet.valueFont = .systemFont(ofSize: 9) + dataSet.formLineDashLengths = nil + dataSet.formLineWidth = 1 + dataSet.formSize = 15 + } else { + dataSet.lineDashLengths = [5, 2.5] + dataSet.highlightLineDashLengths = [5, 2.5] + dataSet.setColor(.black) + dataSet.setCircleColor(.black) + dataSet.gradientPositions = nil + dataSet.lineWidth = 1 + dataSet.circleRadius = 3 + dataSet.drawCircleHoleEnabled = false + dataSet.valueFont = .systemFont(ofSize: 9) + dataSet.formLineDashLengths = [5, 2.5] + dataSet.formLineWidth = 1 + dataSet.formSize = 15 + } + } + override func optionTapped(_ option: Option) { + guard let data = chartView.data else { return } + switch option { case .toggleFilled: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.drawFilledEnabled = !set.drawFilledEnabled } chartView.setNeedsDisplay() - + case .toggleCircles: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.drawCirclesEnabled = !set.drawCirclesEnabled } chartView.setNeedsDisplay() - + case .toggleCubic: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .cubicBezier) ? .linear : .cubicBezier } chartView.setNeedsDisplay() - + case .toggleStepped: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .stepped) ? .linear : .stepped } chartView.setNeedsDisplay() - + case .toggleHorizontalCubic: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .cubicBezier) ? .horizontalBezier : .cubicBezier } chartView.setNeedsDisplay() - + case .toggleGradientLine: + for set in chartView.data!.dataSets as! [LineChartDataSet] { + set.isDrawLineWithGradientEnabled = !set.isDrawLineWithGradientEnabled + setup(set) + } + chartView.setNeedsDisplay() default: super.handleOption(option, forChartView: chartView) } @@ -181,7 +210,7 @@ class LineChart1ViewController: DemoBaseViewController { @IBAction func slidersValueChanged(_ sender: Any?) { sliderTextX.text = "\(Int(sliderX.value))" sliderTextY.text = "\(Int(sliderY.value))" - + self.updateChartData() } } diff --git a/ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift b/ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift index 564d50f66d..57e732f04c 100644 --- a/ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class LineChart2ViewController: DemoBaseViewController { @@ -39,7 +41,7 @@ class LineChart2ViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.dragEnabled = true chartView.setScaleEnabled(true) chartView.pinchZoomEnabled = true @@ -102,7 +104,7 @@ class LineChart2ViewController: DemoBaseViewController { return ChartDataEntry(x: Double(i), y: val) } - let set1 = LineChartDataSet(values: yVals1, label: "DataSet 1") + let set1 = LineChartDataSet(entries: yVals1, label: "DataSet 1") set1.axisDependency = .left set1.setColor(UIColor(red: 51/255, green: 181/255, blue: 229/255, alpha: 1)) set1.setCircleColor(.white) @@ -113,7 +115,7 @@ class LineChart2ViewController: DemoBaseViewController { set1.highlightColor = UIColor(red: 244/255, green: 117/255, blue: 117/255, alpha: 1) set1.drawCircleHoleEnabled = false - let set2 = LineChartDataSet(values: yVals2, label: "DataSet 2") + let set2 = LineChartDataSet(entries: yVals2, label: "DataSet 2") set2.axisDependency = .right set2.setColor(.red) set2.setCircleColor(.white) @@ -124,7 +126,7 @@ class LineChart2ViewController: DemoBaseViewController { set2.highlightColor = UIColor(red: 244/255, green: 117/255, blue: 117/255, alpha: 1) set2.drawCircleHoleEnabled = false - let set3 = LineChartDataSet(values: yVals3, label: "DataSet 3") + let set3 = LineChartDataSet(entries: yVals3, label: "DataSet 3") set3.axisDependency = .right set3.setColor(.yellow) set3.setCircleColor(.white) @@ -135,7 +137,7 @@ class LineChart2ViewController: DemoBaseViewController { set3.highlightColor = UIColor(red: 244/255, green: 117/255, blue: 117/255, alpha: 1) set3.drawCircleHoleEnabled = false - let data = LineChartData(dataSets: [set1, set2, set3]) + let data: LineChartData = [set1, set2, set3] data.setValueTextColor(.white) data.setValueFont(.systemFont(ofSize: 9)) @@ -143,33 +145,35 @@ class LineChart2ViewController: DemoBaseViewController { } override func optionTapped(_ option: Option) { + guard let data = chartView.data else { return } + switch option { case .toggleFilled: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.drawFilledEnabled = !set.drawFilledEnabled } chartView.setNeedsDisplay() case .toggleCircles: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.drawCirclesEnabled = !set.drawCirclesEnabled } chartView.setNeedsDisplay() case .toggleCubic: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .cubicBezier) ? .linear : .cubicBezier } chartView.setNeedsDisplay() case .toggleStepped: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .stepped) ? .linear : .stepped } chartView.setNeedsDisplay() case .toggleHorizontalCubic: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .cubicBezier) ? .horizontalBezier : .cubicBezier } chartView.setNeedsDisplay() @@ -192,7 +196,7 @@ class LineChart2ViewController: DemoBaseViewController { super.chartValueSelected(chartView, entry: entry, highlight: highlight) self.chartView.centerViewToAnimated(xValue: entry.x, yValue: entry.y, - axis: self.chartView.data!.getDataSetByIndex(highlight.dataSetIndex).axisDependency, + axis: self.chartView.data![highlight.dataSetIndex].axisDependency, duration: 1) //[_chartView moveViewToAnimatedWithXValue:entry.x yValue:entry.y axis:[_chartView.data getDataSetByIndex:dataSetIndex].axisDependency duration:1.0]; //[_chartView zoomAndCenterViewAnimatedWithScaleX:1.8 scaleY:1.8 xValue:entry.x yValue:entry.y axis:[_chartView.data getDataSetByIndex:dataSetIndex].axisDependency duration:1.0]; diff --git a/ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift b/ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift index 11726e4e4f..5e78a602b3 100644 --- a/ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class LineChartFilledViewController: DemoBaseViewController { @@ -31,7 +33,7 @@ class LineChartFilledViewController: DemoBaseViewController { chartView.drawBordersEnabled = true - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.pinchZoomEnabled = false chartView.dragEnabled = true @@ -72,7 +74,7 @@ class LineChartFilledViewController: DemoBaseViewController { return ChartDataEntry(x: Double(i), y: val) } - let set1 = LineChartDataSet(values: yVals1, label: "DataSet 1") + let set1 = LineChartDataSet(entries: yVals1, label: "DataSet 1") set1.axisDependency = .left set1.setColor(UIColor(red: 255/255, green: 241/255, blue: 46/255, alpha: 1)) set1.drawCirclesEnabled = false @@ -87,7 +89,7 @@ class LineChartFilledViewController: DemoBaseViewController { return CGFloat(self.chartView.leftAxis.axisMinimum) } - let set2 = LineChartDataSet(values: yVals2, label: "DataSet 2") + let set2 = LineChartDataSet(entries: yVals2, label: "DataSet 2") set2.axisDependency = .left set2.setColor(UIColor(red: 255/255, green: 241/255, blue: 46/255, alpha: 1)) set2.drawCirclesEnabled = false @@ -102,7 +104,7 @@ class LineChartFilledViewController: DemoBaseViewController { return CGFloat(self.chartView.leftAxis.axisMaximum) } - let data = LineChartData(dataSets: [set1, set2]) + let data: LineChartData = [set1, set2] data.setDrawValues(false) chartView.data = data diff --git a/ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift b/ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift index 1b4c425ba6..a31dad6fd8 100644 --- a/ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class LineChartTimeViewController: DemoBaseViewController { @IBOutlet var chartView: LineChartView! @@ -18,7 +20,7 @@ class LineChartTimeViewController: DemoBaseViewController { super.viewDidLoad() // Do any additional setup after loading the view. - self.title = "Line Chart 2" + self.title = "Time Line Chart" self.options = [.toggleValues, .toggleFilled, .toggleCircles, @@ -36,7 +38,7 @@ class LineChartTimeViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.dragEnabled = true chartView.setScaleEnabled(true) @@ -99,7 +101,7 @@ class LineChartTimeViewController: DemoBaseViewController { return ChartDataEntry(x: x, y: Double(y)) } - let set1 = LineChartDataSet(values: values, label: "DataSet 1") + let set1 = LineChartDataSet(entries: values, label: "DataSet 1") set1.axisDependency = .left set1.setColor(UIColor(red: 51/255, green: 181/255, blue: 229/255, alpha: 1)) set1.lineWidth = 1.5 @@ -118,33 +120,35 @@ class LineChartTimeViewController: DemoBaseViewController { } override func optionTapped(_ option: Option) { + guard let data = chartView.data else { return } + switch option { case .toggleFilled: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.drawFilledEnabled = !set.drawFilledEnabled } chartView.setNeedsDisplay() case .toggleCircles: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.drawCirclesEnabled = !set.drawCirclesEnabled } chartView.setNeedsDisplay() case .toggleCubic: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .cubicBezier) ? .linear : .cubicBezier } chartView.setNeedsDisplay() case .toggleStepped: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .stepped) ? .linear : .stepped } chartView.setNeedsDisplay() case .toggleHorizontalCubic: - for set in chartView.data!.dataSets as! [LineChartDataSet] { + for case let set as LineChartDataSet in data { set.mode = (set.mode == .cubicBezier) ? .horizontalBezier : .cubicBezier } chartView.setNeedsDisplay() diff --git a/ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift index 93c9f4654b..d22847f760 100644 --- a/ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class MultipleBarChartViewController: DemoBaseViewController { @@ -36,7 +38,7 @@ class MultipleBarChartViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.pinchZoomEnabled = false chartView.drawBarShadowEnabled = false @@ -107,19 +109,19 @@ class MultipleBarChartViewController: DemoBaseViewController { let yVals3 = (startYear ..< endYear).map(block) let yVals4 = (startYear ..< endYear).map(block) - let set1 = BarChartDataSet(values: yVals1, label: "Company A") + let set1 = BarChartDataSet(entries: yVals1, label: "Company A") set1.setColor(UIColor(red: 104/255, green: 241/255, blue: 175/255, alpha: 1)) - let set2 = BarChartDataSet(values: yVals2, label: "Company B") + let set2 = BarChartDataSet(entries: yVals2, label: "Company B") set2.setColor(UIColor(red: 164/255, green: 228/255, blue: 251/255, alpha: 1)) - let set3 = BarChartDataSet(values: yVals3, label: "Company C") + let set3 = BarChartDataSet(entries: yVals3, label: "Company C") set3.setColor(UIColor(red: 242/255, green: 247/255, blue: 158/255, alpha: 1)) - let set4 = BarChartDataSet(values: yVals4, label: "Company D") + let set4 = BarChartDataSet(entries: yVals4, label: "Company D") set4.setColor(UIColor(red: 255/255, green: 102/255, blue: 0/255, alpha: 1)) - let data = BarChartData(dataSets: [set1, set2, set3, set4]) + let data: BarChartData = [set1, set2, set3, set4] data.setValueFont(.systemFont(ofSize: 10, weight: .light)) data.setValueFormatter(LargeValueFormatter()) diff --git a/ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift index 4b11f73d28..bec02d5f9e 100644 --- a/ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class MultipleLinesChartViewController: DemoBaseViewController { @@ -38,7 +40,7 @@ class MultipleLinesChartViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.leftAxis.enabled = false chartView.rightAxis.drawAxisLineEnabled = false @@ -78,7 +80,7 @@ class MultipleLinesChartViewController: DemoBaseViewController { } let dataSets = (0..<3).map { i -> LineChartDataSet in let yVals = (0.. String { return String(format: "%03.0f-%03.0f", value, value + 10) } diff --git a/ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift index 5b0acf4b64..8eefe0ca1f 100644 --- a/ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class PieChartViewController: DemoBaseViewController { @@ -21,13 +23,14 @@ class PieChartViewController: DemoBaseViewController { super.viewDidLoad() // Do any additional setup after loading the view. - self.title = "Half Pie Bar Chart" + self.title = "Pie Chart" self.options = [.toggleValues, .toggleXValues, .togglePercent, .toggleHole, .toggleIcons, + .toggleLabelsMinimumAngle, .animateX, .animateY, .animateXY, @@ -77,7 +80,7 @@ class PieChartViewController: DemoBaseViewController { icon: #imageLiteral(resourceName: "icon")) } - let set = PieChartDataSet(values: entries, label: "Election Results") + let set = PieChartDataSet(entries: entries, label: "Election Results") set.drawIconsEnabled = false set.sliceSpace = 2 @@ -99,7 +102,7 @@ class PieChartViewController: DemoBaseViewController { data.setValueFormatter(DefaultValueFormatter(formatter: pFormatter)) data.setValueFont(.systemFont(ofSize: 11, weight: .light)) - data.setValueTextColor(.white) + data.setValueTextColor(.black) chartView.data = data chartView.highlightValues(nil) @@ -119,6 +122,10 @@ class PieChartViewController: DemoBaseViewController { chartView.drawHoleEnabled = !chartView.drawHoleEnabled chartView.setNeedsDisplay() + case .toggleLabelsMinimumAngle: + chartView.sliceTextDrawingThreshold = chartView.sliceTextDrawingThreshold == 0.0 ? 20.0 : 0.0 + chartView.setNeedsDisplay() + case .drawCenter: chartView.drawCenterTextEnabled = !chartView.drawCenterTextEnabled chartView.setNeedsDisplay() diff --git a/ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift index 5b48713b2f..1986ac1a27 100644 --- a/ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift @@ -7,7 +7,7 @@ // import UIKit -import Charts +import DGCharts class PiePolylineChartViewController: DemoBaseViewController { @@ -21,12 +21,13 @@ class PiePolylineChartViewController: DemoBaseViewController { super.viewDidLoad() // Do any additional setup after loading the view. - self.title = "Pie Bar Chart" + self.title = "Pie Poly Line Chart" self.options = [.toggleValues, .toggleXValues, .togglePercent, .toggleHole, + .toggleLabelsMinimumAngle, .animateX, .animateY, .animateXY, @@ -65,7 +66,7 @@ class PiePolylineChartViewController: DemoBaseViewController { label: parties[i % parties.count]) } - let set = PieChartDataSet(values: entries, label: "Election Results") + let set = PieChartDataSet(entries: entries, label: "Election Results") set.sliceSpace = 2 @@ -111,6 +112,10 @@ class PiePolylineChartViewController: DemoBaseViewController { chartView.drawHoleEnabled = !chartView.drawHoleEnabled chartView.setNeedsDisplay() + case .toggleLabelsMinimumAngle: + chartView.sliceTextDrawingThreshold = chartView.sliceTextDrawingThreshold == 0.0 ? 20.0 : 0.0 + chartView.setNeedsDisplay() + case .drawCenter: chartView.drawCenterTextEnabled = !chartView.drawCenterTextEnabled chartView.setNeedsDisplay() diff --git a/ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift index 6d363dec0c..9526751457 100644 --- a/ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class PositiveNegativeBarChartViewController: DemoBaseViewController { @@ -23,7 +25,7 @@ class PositiveNegativeBarChartViewController: DemoBaseViewController { super.viewDidLoad() // Do any additional setup after loading the view. - self.title = "Bar Chart" + self.title = "Positive/Negative Bar Chart" self.options = [.toggleValues, .toggleHighlight, .animateX, @@ -44,7 +46,7 @@ class PositiveNegativeBarChartViewController: DemoBaseViewController { chartView.drawBarShadowEnabled = false chartView.drawValueAboveBarEnabled = true - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.rightAxis.enabled = false @@ -93,7 +95,7 @@ class PositiveNegativeBarChartViewController: DemoBaseViewController { return entry.y > 0 ? red : green } - let set = BarChartDataSet(values: yVals, label: "Values") + let set = BarChartDataSet(entries: yVals, label: "Values") set.colors = colors set.valueColors = colors @@ -113,7 +115,7 @@ class PositiveNegativeBarChartViewController: DemoBaseViewController { } } -extension PositiveNegativeBarChartViewController: IAxisValueFormatter { +extension PositiveNegativeBarChartViewController: AxisValueFormatter { func stringForValue(_ value: Double, axis: AxisBase?) -> String { return dataLabels[min(max(Int(value), 0), dataLabels.count - 1)] } diff --git a/ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift index f90bb74c6c..0daaef02d2 100644 --- a/ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift @@ -6,23 +6,22 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class RadarChartViewController: DemoBaseViewController { @IBOutlet var chartView: RadarChartView! let activities = ["Burger", "Steak", "Salad", "Pasta", "Pizza"] - var originalBarBgColor: UIColor! - var originalBarTintColor: UIColor! - var originalBarStyle: UIBarStyle! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. - self.title = "Radar Bar Chart" + self.title = "Radar Chart" self.options = [.toggleValues, .toggleHighlight, .toggleHighlightCircle, @@ -39,7 +38,7 @@ class RadarChartViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.webLineWidth = 1 chartView.innerWebLineWidth = 1 chartView.webColor = .lightGray @@ -80,32 +79,6 @@ class RadarChartViewController: DemoBaseViewController { chartView.animate(xAxisDuration: 1.4, yAxisDuration: 1.4, easingOption: .easeOutBack) } - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - UIView.animate(withDuration: 0.15) { - let navBar = self.navigationController!.navigationBar - self.originalBarBgColor = navBar.barTintColor - self.originalBarTintColor = navBar.tintColor - self.originalBarStyle = navBar.barStyle - - navBar.barTintColor = self.view.backgroundColor - navBar.tintColor = .white - navBar.barStyle = .black - } - } - - override func viewWillDisappear(_ animated: Bool) { - super.viewWillDisappear(animated) - - UIView.animate(withDuration: 0.15) { - let navBar = self.navigationController!.navigationBar - navBar.barTintColor = self.originalBarBgColor - navBar.tintColor = self.originalBarTintColor - navBar.barStyle = self.originalBarStyle - } - } - override func updateChartData() { if self.shouldHideData { chartView.data = nil @@ -124,7 +97,7 @@ class RadarChartViewController: DemoBaseViewController { let entries1 = (0.. String { return activities[Int(value) % activities.count] } diff --git a/ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift index 2dea8e3627..10c4cc41fe 100644 --- a/ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class ScatterChartViewController: DemoBaseViewController { @@ -21,7 +23,7 @@ class ScatterChartViewController: DemoBaseViewController { super.viewDidLoad() // Do any additional setup after loading the view. - self.title = "Scatter Bar Chart" + self.title = "Scatter Chart" self.options = [.toggleValues, .toggleHighlight, .animateX, @@ -33,8 +35,8 @@ class ScatterChartViewController: DemoBaseViewController { .toggleData] chartView.delegate = self - - chartView.chartDescription?.enabled = false + + chartView.chartDescription.enabled = false chartView.dragEnabled = true chartView.setScaleEnabled(true) @@ -88,24 +90,24 @@ class ScatterChartViewController: DemoBaseViewController { } - let set1 = ScatterChartDataSet(values: values1, label: "DS 1") + let set1 = ScatterChartDataSet(entries: values1, label: "DS 1") set1.setScatterShape(.square) set1.setColor(ChartColorTemplates.colorful()[0]) set1.scatterShapeSize = 8 - let set2 = ScatterChartDataSet(values: values2, label: "DS 2") + let set2 = ScatterChartDataSet(entries: values2, label: "DS 2") set2.setScatterShape(.circle) set2.scatterShapeHoleColor = ChartColorTemplates.colorful()[3] set2.scatterShapeHoleRadius = 3.5 set2.setColor(ChartColorTemplates.colorful()[1]) set2.scatterShapeSize = 8 - let set3 = ScatterChartDataSet(values: values3, label: "DS 3") + let set3 = ScatterChartDataSet(entries: values3, label: "DS 3") set3.setScatterShape(.cross) set3.setColor(ChartColorTemplates.colorful()[2]) set3.scatterShapeSize = 8 - let data = ScatterChartData(dataSets: [set1, set2, set3]) + let data: ScatterChartData = [set1, set2, set3] data.setValueFont(.systemFont(ofSize: 7, weight: .light)) chartView.data = data diff --git a/ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift index 790d5c6721..765c0205ab 100644 --- a/ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class SinusBarChartViewController: DemoBaseViewController { @@ -19,7 +21,7 @@ class SinusBarChartViewController: DemoBaseViewController { super.viewDidLoad() // Do any additional setup after loading the view. - self.title = "Line Chart 2" + self.title = "Sinus Bar Chart" self.options = [.toggleValues, .toggleHighlight, .animateX, @@ -32,7 +34,7 @@ class SinusBarChartViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.drawBarShadowEnabled = false chartView.drawValueAboveBarEnabled = false @@ -86,7 +88,7 @@ class SinusBarChartViewController: DemoBaseViewController { BarChartDataEntry(x: Double($0), y: sin(.pi * Double($0%128) / 64)) } - let set = BarChartDataSet(values: entries, label: "Sinus Function") + let set = BarChartDataSet(entries: entries, label: "Sinus Function") set.setColor(UIColor(red: 240/255, green: 120/255, blue: 123/255, alpha: 1)) let data = BarChartData(dataSet: set) diff --git a/ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift b/ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift index 718a5a1b07..fd704b596a 100644 --- a/ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift +++ b/ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift @@ -6,8 +6,10 @@ // Copyright © 2017 jc. All rights reserved. // -import UIKit -import Charts +#if canImport(UIKit) + import UIKit +#endif +import DGCharts class StackedBarChartViewController: DemoBaseViewController { @@ -46,7 +48,7 @@ class StackedBarChartViewController: DemoBaseViewController { chartView.delegate = self - chartView.chartDescription?.enabled = false + chartView.chartDescription.enabled = false chartView.maxVisibleCount = 40 chartView.drawBarShadowEnabled = false @@ -98,7 +100,7 @@ class StackedBarChartViewController: DemoBaseViewController { return BarChartDataEntry(x: Double(i), yValues: [val1, val2, val3], icon: #imageLiteral(resourceName: "icon")) } - let set = BarChartDataSet(values: yVals, label: "Statistics Vienna 2014") + let set = BarChartDataSet(entries: yVals, label: "Statistics Vienna 2014") set.drawIconsEnabled = false set.colors = [ChartColorTemplates.material()[0], ChartColorTemplates.material()[1], ChartColorTemplates.material()[2]] set.stackLabels = ["Births", "Divorces", "Marriages"] diff --git a/ChartsDemo-iOS/Swift/Formatters/DateValueFormatter.swift b/ChartsDemo-iOS/Swift/Formatters/DateValueFormatter.swift index 2962a6852a..c5472337e9 100644 --- a/ChartsDemo-iOS/Swift/Formatters/DateValueFormatter.swift +++ b/ChartsDemo-iOS/Swift/Formatters/DateValueFormatter.swift @@ -7,9 +7,9 @@ // import Foundation -import Charts +import DGCharts -public class DateValueFormatter: NSObject, IAxisValueFormatter { +public class DateValueFormatter: NSObject, AxisValueFormatter { private let dateFormatter = DateFormatter() override init() { diff --git a/ChartsDemo-iOS/Swift/Formatters/DayAxisValueFormatter.swift b/ChartsDemo-iOS/Swift/Formatters/DayAxisValueFormatter.swift index 245a25c83e..5f0a2db92d 100644 --- a/ChartsDemo-iOS/Swift/Formatters/DayAxisValueFormatter.swift +++ b/ChartsDemo-iOS/Swift/Formatters/DayAxisValueFormatter.swift @@ -7,9 +7,9 @@ // import Foundation -import Charts +import DGCharts -public class DayAxisValueFormatter: NSObject, IAxisValueFormatter { +public class DayAxisValueFormatter: NSObject, AxisValueFormatter { weak var chart: BarLineChartViewBase? let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", diff --git a/ChartsDemo-iOS/Swift/Formatters/IntAxisValueFormatter.swift b/ChartsDemo-iOS/Swift/Formatters/IntAxisValueFormatter.swift index bd3062a190..8b8ba380bd 100644 --- a/ChartsDemo-iOS/Swift/Formatters/IntAxisValueFormatter.swift +++ b/ChartsDemo-iOS/Swift/Formatters/IntAxisValueFormatter.swift @@ -7,9 +7,9 @@ // import Foundation -import Charts +import DGCharts -public class IntAxisValueFormatter: NSObject, IAxisValueFormatter { +public class IntAxisValueFormatter: NSObject, AxisValueFormatter { public func stringForValue(_ value: Double, axis: AxisBase?) -> String { return "\(Int(value))" } diff --git a/ChartsDemo-iOS/Swift/Formatters/LargeValueFormatter.swift b/ChartsDemo-iOS/Swift/Formatters/LargeValueFormatter.swift index c95ca034a6..443219ecb9 100644 --- a/ChartsDemo-iOS/Swift/Formatters/LargeValueFormatter.swift +++ b/ChartsDemo-iOS/Swift/Formatters/LargeValueFormatter.swift @@ -5,13 +5,13 @@ // import Foundation -import Charts +import DGCharts private let MAX_LENGTH = 5 @objc protocol Testing123 { } -public class LargeValueFormatter: NSObject, IValueFormatter, IAxisValueFormatter { +public class LargeValueFormatter: NSObject, ValueFormatter, AxisValueFormatter { /// Suffix to be appended after the values. /// diff --git a/ChartsDemo-iOS/XIBs/Demos/AnotherBarChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/AnotherBarChartViewController.xib index 571312c92c..8a8be08684 100644 --- a/ChartsDemo-iOS/XIBs/Demos/AnotherBarChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/AnotherBarChartViewController.xib @@ -1,20 +1,14 @@ - - - - + + - + + - - - HelveticaNeue-Light - - - + @@ -40,7 +34,7 @@ - + @@ -57,7 +51,7 @@ - + @@ -66,7 +60,7 @@ - + @@ -75,6 +69,7 @@ + @@ -94,7 +89,6 @@ - diff --git a/ChartsDemo-iOS/XIBs/Demos/BarChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/BarChartViewController.xib index 85dbdc8371..bee68c9967 100644 --- a/ChartsDemo-iOS/XIBs/Demos/BarChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/BarChartViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/BubbleChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/BubbleChartViewController.xib index 03af886339..23f7158b34 100644 --- a/ChartsDemo-iOS/XIBs/Demos/BubbleChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/BubbleChartViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/CandleStickChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/CandleStickChartViewController.xib index 460c052371..7f2bbed282 100644 --- a/ChartsDemo-iOS/XIBs/Demos/CandleStickChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/CandleStickChartViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/ColoredLineChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/ColoredLineChartViewController.xib index ef099b9fd9..fc4a9b6e39 100644 --- a/ChartsDemo-iOS/XIBs/Demos/ColoredLineChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/ColoredLineChartViewController.xib @@ -23,19 +23,19 @@ - + - + - + - + diff --git a/ChartsDemo-iOS/XIBs/Demos/CombinedChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/CombinedChartViewController.xib index 82fe07e540..ff072051f2 100644 --- a/ChartsDemo-iOS/XIBs/Demos/CombinedChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/CombinedChartViewController.xib @@ -36,7 +36,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/CubicLineChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/CubicLineChartViewController.xib index 007e470e21..fcea9c9b14 100644 --- a/ChartsDemo-iOS/XIBs/Demos/CubicLineChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/CubicLineChartViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/HalfPieChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/HalfPieChartViewController.xib index cdcf1ffe65..e76b95f2ab 100644 --- a/ChartsDemo-iOS/XIBs/Demos/HalfPieChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/HalfPieChartViewController.xib @@ -36,7 +36,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/HorizontalBarChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/HorizontalBarChartViewController.xib index 7ea8e71202..202c23cb03 100644 --- a/ChartsDemo-iOS/XIBs/Demos/HorizontalBarChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/HorizontalBarChartViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/LineChart1ViewController.xib b/ChartsDemo-iOS/XIBs/Demos/LineChart1ViewController.xib index 9902b5b27d..96187f0070 100644 --- a/ChartsDemo-iOS/XIBs/Demos/LineChart1ViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/LineChart1ViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/LineChart2ViewController.xib b/ChartsDemo-iOS/XIBs/Demos/LineChart2ViewController.xib index c1c730e97b..91c637be56 100644 --- a/ChartsDemo-iOS/XIBs/Demos/LineChart2ViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/LineChart2ViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/LineChartFilledViewController.xib b/ChartsDemo-iOS/XIBs/Demos/LineChartFilledViewController.xib index 62bf7015e6..ea1934023e 100644 --- a/ChartsDemo-iOS/XIBs/Demos/LineChartFilledViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/LineChartFilledViewController.xib @@ -29,7 +29,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/LineChartTimeViewController.xib b/ChartsDemo-iOS/XIBs/Demos/LineChartTimeViewController.xib index d13233af3f..37db98cd71 100644 --- a/ChartsDemo-iOS/XIBs/Demos/LineChartTimeViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/LineChartTimeViewController.xib @@ -38,7 +38,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/MultipleBarChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/MultipleBarChartViewController.xib index 9ee6745abc..b002c6cf89 100644 --- a/ChartsDemo-iOS/XIBs/Demos/MultipleBarChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/MultipleBarChartViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/MultipleLinesChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/MultipleLinesChartViewController.xib index c9595f1dc4..4ed16af085 100644 --- a/ChartsDemo-iOS/XIBs/Demos/MultipleLinesChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/MultipleLinesChartViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/NegativeStackedBarChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/NegativeStackedBarChartViewController.xib index ac24e0d3c9..86ebcf0a1e 100644 --- a/ChartsDemo-iOS/XIBs/Demos/NegativeStackedBarChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/NegativeStackedBarChartViewController.xib @@ -36,7 +36,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/PieChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/PieChartViewController.xib index 39cce57ef3..0ea5db7695 100644 --- a/ChartsDemo-iOS/XIBs/Demos/PieChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/PieChartViewController.xib @@ -70,7 +70,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/PiePolylineChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/PiePolylineChartViewController.xib index c0bc4dbb86..5b7aefe143 100644 --- a/ChartsDemo-iOS/XIBs/Demos/PiePolylineChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/PiePolylineChartViewController.xib @@ -70,7 +70,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/PositiveNegativeBarChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/PositiveNegativeBarChartViewController.xib index 365f7f6337..c738413cf1 100644 --- a/ChartsDemo-iOS/XIBs/Demos/PositiveNegativeBarChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/PositiveNegativeBarChartViewController.xib @@ -36,7 +36,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/RadarChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/RadarChartViewController.xib index 3e45cbe67d..79cdddbf1f 100644 --- a/ChartsDemo-iOS/XIBs/Demos/RadarChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/RadarChartViewController.xib @@ -44,7 +44,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/ScatterChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/ScatterChartViewController.xib index 926e15c0df..648176530e 100644 --- a/ChartsDemo-iOS/XIBs/Demos/ScatterChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/ScatterChartViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/SinusBarChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/SinusBarChartViewController.xib index e2c84ecf6f..30b4244607 100644 --- a/ChartsDemo-iOS/XIBs/Demos/SinusBarChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/SinusBarChartViewController.xib @@ -53,7 +53,7 @@ - + diff --git a/ChartsDemo-iOS/XIBs/Demos/StackedBarChartViewController.xib b/ChartsDemo-iOS/XIBs/Demos/StackedBarChartViewController.xib index cb9e5c20e2..0725db31fc 100644 --- a/ChartsDemo-iOS/XIBs/Demos/StackedBarChartViewController.xib +++ b/ChartsDemo-iOS/XIBs/Demos/StackedBarChartViewController.xib @@ -40,7 +40,7 @@ - + diff --git a/ChartsDemo-macOS/ChartsDemo-macOS.xcodeproj/project.pbxproj b/ChartsDemo-macOS/ChartsDemo-macOS.xcodeproj/project.pbxproj index 922588b12b..9ebdaeb65c 100644 --- a/ChartsDemo-macOS/ChartsDemo-macOS.xcodeproj/project.pbxproj +++ b/ChartsDemo-macOS/ChartsDemo-macOS.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 0630AE8C1D8128A5008859B0 /* Charts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0630AE711D812840008859B0 /* Charts.framework */; }; - 0630AE8D1D8128A5008859B0 /* Charts.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0630AE711D812840008859B0 /* Charts.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 06FF5D7C29BD10FA0002256E /* DGCharts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06FF5D7929BD10FA0002256E /* DGCharts.framework */; }; + 06FF5D7D29BD10FA0002256E /* DGCharts.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 06FF5D7929BD10FA0002256E /* DGCharts.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 5B9A0C3A1C83AB1800ED8ED8 /* BarDemoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B9A0C391C83AB1800ED8ED8 /* BarDemoViewController.swift */; }; 5B9A0C3C1C83AB2100ED8ED8 /* LineDemoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B9A0C3B1C83AB2100ED8ED8 /* LineDemoViewController.swift */; }; 5B9A0C3E1C83AB2B00ED8ED8 /* RadarDemoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B9A0C3D1C83AB2B00ED8ED8 /* RadarDemoViewController.swift */; }; @@ -19,26 +19,26 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0630AE701D812840008859B0 /* PBXContainerItemProxy */ = { + 0630AE8E1D8128A5008859B0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0630AE691D812840008859B0 /* Charts.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 06165F241D8110E600722320; + proxyType = 1; + remoteGlobalIDString = A58A4ED274A941CA248EA921; remoteInfo = Charts; }; - 0630AE721D812840008859B0 /* PBXContainerItemProxy */ = { + 06FF5D7829BD10FA0002256E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0630AE691D812840008859B0 /* Charts.xcodeproj */; proxyType = 2; - remoteGlobalIDString = 06165F2E1D8110E600722320; - remoteInfo = ChartsTests; + remoteGlobalIDString = 65AD9E95D9ED4DC0BD73A743; + remoteInfo = DGCharts; }; - 0630AE8E1D8128A5008859B0 /* PBXContainerItemProxy */ = { + 06FF5D7A29BD10FA0002256E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0630AE691D812840008859B0 /* Charts.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A58A4ED274A941CA248EA921; - remoteInfo = Charts; + proxyType = 2; + remoteGlobalIDString = 1CBBC58C6CE1EBEE9852CE41; + remoteInfo = DGChartsTests; }; /* End PBXContainerItemProxy section */ @@ -49,7 +49,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 0630AE8D1D8128A5008859B0 /* Charts.framework in Embed Frameworks */, + 06FF5D7D29BD10FA0002256E /* DGCharts.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -75,7 +75,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0630AE8C1D8128A5008859B0 /* Charts.framework in Frameworks */, + 06FF5D7C29BD10FA0002256E /* DGCharts.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -85,12 +85,19 @@ 0630AE6A1D812840008859B0 /* Products */ = { isa = PBXGroup; children = ( - 0630AE711D812840008859B0 /* Charts.framework */, - 0630AE731D812840008859B0 /* ChartsTests.xctest */, + 06FF5D7929BD10FA0002256E /* DGCharts.framework */, + 06FF5D7B29BD10FA0002256E /* DGChartsTests.xctest */, ); name = Products; sourceTree = ""; }; + 06FF5D7629BD10FA0002256E /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; 5B9A0C381C83AB0600ED8ED8 /* Demos */ = { isa = PBXGroup; children = ( @@ -109,6 +116,7 @@ 65B3F63F1C73B4F5000983D0 /* Products */, 03780C7E1EA29C87005C11C8 /* PlaygroundChart.playground */, 0630AE691D812840008859B0 /* Charts.xcodeproj */, + 06FF5D7629BD10FA0002256E /* Frameworks */, ); sourceTree = ""; }; @@ -161,7 +169,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0720; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1400; ORGANIZATIONNAME = dcg; TargetAttributes = { 65B3F63D1C73B4F5000983D0 = { @@ -173,7 +181,7 @@ }; buildConfigurationList = 65B3F6391C73B4F5000983D0 /* Build configuration list for PBXProject "ChartsDemo-macOS" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -196,18 +204,18 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 0630AE711D812840008859B0 /* Charts.framework */ = { + 06FF5D7929BD10FA0002256E /* DGCharts.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = Charts.framework; - remoteRef = 0630AE701D812840008859B0 /* PBXContainerItemProxy */; + path = DGCharts.framework; + remoteRef = 06FF5D7829BD10FA0002256E /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 0630AE731D812840008859B0 /* ChartsTests.xctest */ = { + 06FF5D7B29BD10FA0002256E /* DGChartsTests.xctest */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; - path = ChartsTests.xctest; - remoteRef = 0630AE721D812840008859B0 /* PBXContainerItemProxy */; + path = DGChartsTests.xctest; + remoteRef = 06FF5D7A29BD10FA0002256E /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -263,6 +271,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -281,6 +290,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -288,6 +298,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -310,7 +321,7 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -318,6 +329,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -336,6 +348,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -343,6 +356,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -358,7 +372,7 @@ MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -367,16 +381,18 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "$(SRCROOT)/ChartsDemo-macOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.dcg.ChartsDemo-OSX"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -385,16 +401,18 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "$(SRCROOT)/ChartsDemo-macOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.dcg.ChartsDemo-OSX"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/ChartsDemo-macOS/ChartsDemo-macOS.xcodeproj/xcshareddata/xcschemes/ChartsDemo-macOS.xcscheme b/ChartsDemo-macOS/ChartsDemo-macOS.xcodeproj/xcshareddata/xcschemes/ChartsDemo-macOS.xcscheme new file mode 100644 index 0000000000..0a28b2978d --- /dev/null +++ b/ChartsDemo-macOS/ChartsDemo-macOS.xcodeproj/xcshareddata/xcschemes/ChartsDemo-macOS.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ChartsDemo-macOS/ChartsDemo-macOS/Base.lproj/Main.storyboard b/ChartsDemo-macOS/ChartsDemo-macOS/Base.lproj/Main.storyboard index e1bbcb34b1..6944a28714 100644 --- a/ChartsDemo-macOS/ChartsDemo-macOS/Base.lproj/Main.storyboard +++ b/ChartsDemo-macOS/ChartsDemo-macOS/Base.lproj/Main.storyboard @@ -1,7 +1,8 @@ - + - + + @@ -642,7 +643,7 @@ - + @@ -651,7 +652,7 @@ - + @@ -701,16 +702,16 @@ - + - - + +