import Highcharts
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let chartView = HIChartView(frame: view.bounds)
let options = HIOptions()
let chart = HIChart()
chart.type = "pie"
chart.plotShadow = HICSSObject()
chart.plotShadow.width = 0
options.chart = chart
let title = HITitle()
title.text = "Browser market shares in January, 2018"
options.title = title
let tooltip = HITooltip()
tooltip.pointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"
options.tooltip = tooltip
let accessibility = HIAccessibility()
accessibility.point = HIPoint()
accessibility.point.valueSuffix = "%"
options.accessibility = accessibility
let plotOptions = HIPlotOptions()
plotOptions.pie = HIPie()
plotOptions.pie.allowPointSelect = true
plotOptions.pie.cursor = "pointer"
let dataLabels = HIDataLabels()
dataLabels.enabled = true
dataLabels.format = "<b>{point.name}</b>: {point.percentage:.1f} %"
dataLabels.connectorColor = HIColor(name: "silver")
plotOptions.pie.dataLabels = [dataLabels]
options.plotOptions = plotOptions
let share = HIPie()
share.name = "Share"
let chromeData = HIData()
chromeData.name = "Chrome"
chromeData.y = 61.41
let internetExplorerData = HIData()
internetExplorerData.name = "Internet Explorer"
internetExplorerData.y = 11.84
let firefoxData = HIData()
firefoxData.name = "Firefox"
firefoxData.y = 10.85
let edgeData = HIData()
edgeData.name = "Edge"
edgeData.y = 4.67
let safariData = HIData()
safariData.name = "Safari"
safariData.y = 4.18
let otherData = HIData()
otherData.name = "Other"
otherData.y = 7.05
share.data = [chromeData, internetExplorerData, firefoxData, edgeData, safariData, otherData]
options.series = [share]
options.colors = [
"{ radialGradient: { cx : 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#7cb5ec'], [1, 'rgb(48,105,160)']] }",
"{ radialGradient: { cx: 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#434348'], [1, 'rgb(0,0,0)']] }",
"{ radialGradient: { cx: 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#90ed7d'], [1, 'rgb(68,161,49)']] }",
"{ radialGradient: { cx: 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#f7a35c'], [1, 'rgb(171,87,16)']] }",
"{ radialGradient: { cx: 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#8085e9'], [1, 'rgb(52,57,157)']] }",
"{ radialGradient: { cx: 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#f15c80'], [1, 'rgb(165,16,52)']] }",
"{ radialGradient: { cx: 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#f15c80'], [1, 'rgb(152,135,8)']] }",
"{ radialGradient: { cx: 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#2b908f'], [1, 'rgb(0,68,67)']] }",
"{ radialGradient: { cx: 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#f45b5b'], [1, 'rgb(168,15,15)']] }",
"{ radialGradient: { cx: 0.5, cy: 0.3, r: 0.7}, stops: [[0, '#91e8e1'], [1, 'rgb(69,156,149)']]"
]
chartView.options = options
self.view.addSubview(chartView)
}
}
#import <UIKit/UIKit.h>
#import <Highcharts/Highcharts.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
HIChartView *chartView = [[HIChartView alloc] initWithFrame:self.view.bounds];
HIOptions *options = [[HIOptions alloc]init];
HIChart *chart = [[HIChart alloc]init];
chart.plotBackgroundColor = [[HIColor alloc]init];
chart.plotBorderWidth = [[NSNumber alloc]init];
chart.plotShadow = [[NSNumber alloc] initWithBool:false];
chart.type = @"pie";
NSArray *colors = @[
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
}stops:@[
@[
@0,
@"#7cb5ec"
],
@[
@1,
@"rgb(48,105,160)"
]
]],
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
} stops:@[
@[
@0,
@"#434348"
],
@[
@1,
@"rgb(0,0,0)"
]
]],
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
} stops:@[
@[
@0,
@"#90ed7d"
],
@[
@1,
@"rgb(68,161,49)"
]
]],
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
} stops:@[
@[
@0,
@"#f7a35c"
],
@[
@1,
@"rgb(171,87,16)"
]
]],
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
} stops:@[
@[
@0,
@"#8085e9"
],
@[
@1,
@"rgb(52,57,157)"
]
]],
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
} stops:@[
@[
@0,
@"#f15c80"
],
@[
@1,
@"rgb(165,16,52)"
]
]],
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
} stops:@[
@[
@0,
@"#e4d354"
],
@[
@1,
@"rgb(152,135,8)"
]
]],
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
} stops:@[
@[
@0,
@"#2b908f"
],
@[
@1,
@"rgb(0,68,67)"
]
]],
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
} stops:@[
@[
@0,
@"#f45b5b"
],
@[
@1,
@"rgb(168,15,15)"
]
]],
[[HIColor alloc]initWithRadialGradient:@{
@"cx": @0.5,
@"cy": @0.3,
@"r": @0.7
} stops:@[
@[
@0,
@"#91e8e1"
],
@[
@1,
@"rgb(69,156,149)"
]
]]
];
HITitle *title = [[HITitle alloc]init];
title.text = @"Browser market shares. January, 2015 to May, 2015";
HITooltip *tooltip = [[HITooltip alloc]init];
tooltip.pointFormat = @"{series.name}: <b>{point.percentage:.1f}%</b>";
HIPlotOptions *plotoptions = [[HIPlotOptions alloc]init];
plotoptions.pie = [[HIPie alloc]init];
plotoptions.pie.allowPointSelect = [[NSNumber alloc] initWithBool:true];
plotoptions.pie.cursor = @"pointer";
plotoptions.pie.dataLabels = [[HIDataLabels alloc]init];
plotoptions.pie.dataLabels.enabled = [[NSNumber alloc] initWithBool:true];
plotoptions.pie.dataLabels.format = @"<b>{point.name}</b>: {point.percentage:.1f} %";
plotoptions.pie.dataLabels.style = [[HICSSObject alloc] init];
plotoptions.pie.dataLabels.style.color = @"black";
plotoptions.pie.dataLabels.connectorColor = [[HIColor alloc] initWithName:@"silver"];
HIPie *pie = [[HIPie alloc]init];
pie.name = @"Brands";
pie.data = @[
@{
@"name": @"Microsoft Internet Explorer",
@"y": @56.33
},
@{
@"name": @"Chrome",
@"y": @24.03,
@"sliced": [[NSNumber alloc] initWithBool:true],
@"selected":[[NSNumber alloc] initWithBool:true]
},
@{
@"name": @"Firefox",
@"y": @10.38
},
@{
@"name": @"Safari",
@"y": @4.77
},
@{
@"name": @"Opera",
@"y": @0.91
},
@{
@"name": @"Proprietary or Undetectable",
@"y": @0.2
}
];
options.chart = chart;
options.colors = colors;
options.title = title;
options.tooltip = tooltip;
options.plotOptions = plotoptions;
options.series = [NSMutableArray arrayWithObjects:pie, nil];
chartView.options = options;
[self.view addSubview:chartView];
}
@end