{"id":13838504,"url":"https://github.com/NilStack/NKWatchChart","last_synced_at":"2025-07-10T23:31:27.710Z","repository":{"id":36092112,"uuid":"40393064","full_name":"NilStack/NKWatchChart","owner":"NilStack","description":"A chart library for Apple Watch based on PNChart and ios-charts.","archived":false,"fork":false,"pushed_at":"2016-02-12T23:26:39.000Z","size":140,"stargazers_count":255,"open_issues_count":9,"forks_count":20,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-06-27T20:03:53.679Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NilStack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-08T05:51:04.000Z","updated_at":"2023-12-18T21:10:03.000Z","dependencies_parsed_at":"2022-09-01T06:21:18.895Z","dependency_job_id":null,"html_url":"https://github.com/NilStack/NKWatchChart","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/NilStack/NKWatchChart","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NilStack%2FNKWatchChart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NilStack%2FNKWatchChart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NilStack%2FNKWatchChart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NilStack%2FNKWatchChart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NilStack","download_url":"https://codeload.github.com/NilStack/NKWatchChart/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NilStack%2FNKWatchChart/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264687866,"owners_count":23649576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T16:00:19.743Z","updated_at":"2025-07-10T23:31:27.415Z","avatar_url":"https://github.com/NilStack.png","language":"Objective-C","readme":"#NKWatchChart#\n\n![Verision](https://img.shields.io/badge/pod-v0.1.0-blue.svg)\n![Platform](https://img.shields.io/badge/platform-watchOS-ff69b4.svg)\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n\nA chart library for Apple Watch based on [PNChart](https://github.com/kevinzhow/PNChart). We support line, bar, pie, circle and radar charts now and will integrate more chart types from [ios-charts](https://github.com/danielgindi/ios-charts).\n\n![gif](https://db.tt/d7pJD84m)\n\n##Usage##\n\n###Cocoapods###\nIn your watchOS target\n\n    pod 'NKWatchChart'\n\nThen\n\n    pod install\n\nAnd\n\n    #import \"NKWatchChart.h\"\n\n[Using Cocoapods with watchOS 2](https://medium.com/@JTEhlert/using-cocoapods-with-watchos-2-723b92eae04f) by Justin Ehlert\n\n###Copy NKWatchChart folder to watch app extension ###\n\n##Requirements##\n* watchOS ~\u003e 2.0\n* Xcode \u003e= 7.0\n\n##Examples##\n\n####Line Chart####\n\n![Line Chart](https://db.tt/XjrGEkMM)\n\n```objective-c\n\n    NKLineChart *chart = [[NKLineChart alloc] initWithFrame:frame];\n        chart.yLabelFormat = @\"%1.1f\";\n        [chart setXLabels:@[@\"SEP 1\",@\"SEP 2\",@\"SEP 3\",@\"SEP 4\",@\"SEP 5\",@\"SEP 6\",@\"SEP 7\"]];\n        chart.showCoordinateAxis = YES;\n\n        //Use yFixedValueMax and yFixedValueMin to Fix the Max and Min Y Value\n        //Only if you needed\n        chart.yFixedValueMax = 300.0;\n        chart.yFixedValueMin = 0.0;\n\n        [chart setYLabels:@[\n                            @\"0\",\n                            @\"50\",\n                            @\"100\",\n                            @\"150\",\n                            @\"200\",\n                            @\"250\",\n                            @\"300\",\n                            ]\n         ];\n\n        chart.yLabelFont = [UIFont systemFontOfSize:6.f];\n        chart.xLabelFont = [UIFont systemFontOfSize:6.f];\n        chart.xLabelWidth = 10.f;\n        chart.yLabelColor = NKGreen;\n        chart.xLabelColor = NKGreen;\n\n        chart.axisColor = NKLightGrey;\n        chart.axisWidth = 1.f;\n\n        chart.xUnit = @\"Day\";\n        chart.yUnit = @\"Min\";\n\n        // Line Chart #1\n        NSArray * data01Array = @[@60.1, @160.1, @126.4, @0.0, @186.2, @127.2, @176.2];\n        NKLineChartData *data01 = [NKLineChartData new];\n        data01.color = NKGreen;\n        data01.alpha = 0.9f;\n        data01.itemCount = data01Array.count;\n        data01.inflexionPointStyle = NKLineChartPointStyleTriangle;\n        data01.getData = ^(NSUInteger index) {\n            CGFloat yValue = [data01Array[index] floatValue];\n            return [NKLineChartDataItem dataItemWithY:yValue];\n        };\n\n        // Line Chart #2\n        NSArray * data02Array = @[@0.0, @180.1, @26.4, @202.2, @126.2, @167.2, @276.2];\n        NKLineChartData *data02 = [NKLineChartData new];\n        data02.color = NKTwitterColor;\n        data02.alpha = 0.5f;\n        data02.itemCount = data02Array.count;\n        data02.inflexionPointStyle = NKLineChartPointStyleCircle;\n        data02.getData = ^(NSUInteger index) {\n            CGFloat yValue = [data02Array[index] floatValue];\n            return [NKLineChartDataItem dataItemWithY:yValue];\n        };\n\n\n    chart.chartData = @[data01,data02];\n\n    image = [chart drawImage];\n    [self.chartImage setImage:image];\n\n```\n\n####Bar Chart####\n\n![Bar Chart](https://db.tt/MfvNnpOp)\n\n```objective-c\n\n     NKBarChart *chart = [[NKBarChart alloc] initWithFrame:frame];\n        chart.yLabelFormatter = ^(CGFloat yValue){\n            CGFloat yValueParsed = yValue;\n            NSString * labelText = [NSString stringWithFormat:@\"%0.f\",yValueParsed];\n            return labelText;\n        };\n        chart.labelMarginTop = 5.0;\n        chart.showChartBorder = YES;\n        [chart setXLabels:@[@\"2\",@\"3\",@\"4\",@\"5\",@\"2\",@\"3\",@\"4\",@\"5\"]];\n        //       self.barChart.yLabels = @[@-10,@0,@10];\n        [chart setYValues:@[@10.82,@1.88,@6.96,@33.93,@10.82,@1.88,@6.96,@33.93]];\n        [chart setStrokeColors:@[NKGreen,NKGreen,NKRed,NKGreen,NKGreen,NKGreen,NKRed,NKGreen]];\n\n        image = [chart drawImage];\n        [self.chartImage setImage:image];\n\n```\n\n####Pie Chart####\n\n![Pie Chart](https://db.tt/hs3MwXxW)\n\n```objective-c\n\n     NSArray *items = @[[NKPieChartDataItem dataItemWithValue:10 color:NKLightGreen],\n                           [NKPieChartDataItem dataItemWithValue:20 color:NKFreshGreen description:@\"WWDC\"],\n                           [NKPieChartDataItem dataItemWithValue:40 color:NKDeepGreen description:@\"GOOG I/O\"],\n                           ];\n\n        NKPieChart *chart = [[NKPieChart alloc] initWithFrame:frame items:items];\n        chart.descriptionTextColor = [UIColor whiteColor];\n        chart.descriptionTextFont  = [UIFont systemFontOfSize:12.0];\n        chart.showAbsoluteValues = NO;\n        chart.showOnlyValues = NO;\n\n        image = [chart drawImage];\n        [self.chartImage setImage:image];\n\n```\n\n####Circle Chart####\n\n![Circle Chart](https://db.tt/bmRpg3ep)\n\n```objective-c\n\n    UIColor *shadowColor = [UIColor colorWithRed:225.0 / 255.0 green:225.0 / 255.0 blue:225.0 / 255.0 alpha:0.5f];\n        NKCircleChart *chart = [[NKCircleChart alloc] initWithFrame:frame total:@100 current:@60 clockwise:YES shadow:YES shadowColor:shadowColor displayCountingLabel:YES overrideLineWidth:@5];\n        chart.strokeColor = NKGreen;\n        chart.strokeColorGradientStart = NKLightGreen;\n        image = [chart drawImage];\n        [self.chartImage setImage:image];\n\n```\n\n####Radar Chart####\n\n![Radar Chart](https://db.tt/FgQer9TW)\n\n```objective-c\n\n    NSArray *items = @[[NKRadarChartDataItem dataItemWithValue:3 description:@\"Art\"],\n                           [NKRadarChartDataItem dataItemWithValue:2 description:@\"Math\"],\n                           [NKRadarChartDataItem dataItemWithValue:8 description:@\"Sports\"],\n                           [NKRadarChartDataItem dataItemWithValue:5 description:@\"Liter\"],\n                           [NKRadarChartDataItem dataItemWithValue:4 description:@\"Other\"],\n                           ];\n        NKRadarChart *chart = [[NKRadarChart alloc] initWithFrame:frame items:items valueDivider:1];\n\n        image = [chart drawImage];\n        [self.chartImage setImage:image];\n\n```\n##TODO##\n* more testing\n* refactoring\n* add bubble chart from [ios-charts](https://github.com/danielgindi/ios-charts)\n* add scatter chart\n* more chart types\n\n##Apps using NKWatchChart##\n\nPlease Let me know at guoleii@gmail.com if you use NKWatchChart in your apps.\n\n##NKWatchChart on medias##\n\n * maniacdev.com\n\n[https://maniacdev.com/2015/08/open-source-library-for-drawing-charts-on-the-apple-watch](https://maniacdev.com/2015/08/open-source-library-for-drawing-charts-on-the-apple-watch)\n\n * watchkitresources.com\n\n[http://watchkitresources.com/issues/9](http://watchkitresources.com/issues/9)\n\n * iphonedev.co.kr in Korean\n\n[http://iphonedev.co.kr/sampleSource/24204](http://iphonedev.co.kr/sampleSource/24204)\n\n * toutiao.io in Chinese\n\n[http://toutiao.io/posts/qga8e](http://toutiao.io/posts/qga8e)\n\n##License##\nThis code is distributed under the terms and conditions of the MIT license.\n\n##Thanks##\nAwesome chart library [PNChart](https://github.com/kevinzhow/PNChart) by @kevinzhow\n","funding_links":[],"categories":["Library"],"sub_categories":["UI"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNilStack%2FNKWatchChart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNilStack%2FNKWatchChart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNilStack%2FNKWatchChart/lists"}