highstocks-rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +7 -0
  3. data/CHANGELOG.markdown +4 -0
  4. data/Gemfile +2 -0
  5. data/LICENSE +21 -0
  6. data/README.markdown +27 -0
  7. data/Rakefile +1 -0
  8. data/app/assets/graphics/skies.jpg +0 -0
  9. data/app/assets/graphics/snow.png +0 -0
  10. data/app/assets/graphics/sun.png +0 -0
  11. data/app/assets/images/highstocks/skies.jpg +0 -0
  12. data/app/assets/images/highstocks/snow.png +0 -0
  13. data/app/assets/images/highstocks/sun.png +0 -0
  14. data/app/assets/javascripts/highstocks.js +20919 -0
  15. data/app/assets/javascripts/highstocks/adapters/mootools-adapter.js +13 -0
  16. data/app/assets/javascripts/highstocks/adapters/mootools-adapter.src.js +316 -0
  17. data/app/assets/javascripts/highstocks/adapters/prototype-adapter.js +15 -0
  18. data/app/assets/javascripts/highstocks/adapters/prototype-adapter.src.js +316 -0
  19. data/app/assets/javascripts/highstocks/adapters/standalone-framework.js +17 -0
  20. data/app/assets/javascripts/highstocks/adapters/standalone-framework.src.js +583 -0
  21. data/app/assets/javascripts/highstocks/highstocks-more.js +2439 -0
  22. data/app/assets/javascripts/highstocks/modules/annotations.js +7 -0
  23. data/app/assets/javascripts/highstocks/modules/annotations.src.js +401 -0
  24. data/app/assets/javascripts/highstocks/modules/canvas-tools.js +133 -0
  25. data/app/assets/javascripts/highstocks/modules/canvas-tools.src.js +3113 -0
  26. data/app/assets/javascripts/highstocks/modules/data.js +17 -0
  27. data/app/assets/javascripts/highstocks/modules/data.src.js +582 -0
  28. data/app/assets/javascripts/highstocks/modules/drilldown.js +11 -0
  29. data/app/assets/javascripts/highstocks/modules/drilldown.src.js +449 -0
  30. data/app/assets/javascripts/highstocks/modules/exporting.js +22 -0
  31. data/app/assets/javascripts/highstocks/modules/exporting.src.js +709 -0
  32. data/app/assets/javascripts/highstocks/modules/funnel.js +12 -0
  33. data/app/assets/javascripts/highstocks/modules/funnel.src.js +289 -0
  34. data/app/assets/javascripts/highstocks/modules/heatmap.js +2 -0
  35. data/app/assets/javascripts/highstocks/modules/heatmap.src.js +54 -0
  36. data/app/assets/javascripts/highstocks/modules/map.js +32 -0
  37. data/app/assets/javascripts/highstocks/modules/map.src.js +1273 -0
  38. data/app/assets/javascripts/highstocks/modules/no-data-to-display.js +12 -0
  39. data/app/assets/javascripts/highstocks/modules/no-data-to-display.src.js +128 -0
  40. data/app/assets/javascripts/highstocks/themes/dark-blue.js +254 -0
  41. data/app/assets/javascripts/highstocks/themes/dark-green.js +255 -0
  42. data/app/assets/javascripts/highstocks/themes/gray.js +257 -0
  43. data/app/assets/javascripts/highstocks/themes/grid.js +103 -0
  44. data/app/assets/javascripts/highstocks/themes/skies.js +89 -0
  45. data/highstocks-rails.gemspec +23 -0
  46. data/lib/highstocks-rails.rb +2 -0
  47. data/lib/highstocks/rails.rb +6 -0
  48. data/lib/highstocks/version.rb +3 -0
  49. metadata +133 -0
@@ -0,0 +1,12 @@
1
+ /*
2
+ Highstock JS v1.3.7 (2013-10-24)
3
+ Plugin for displaying a message when there is no data visible in chart.
4
+
5
+ (c) 2010-2013 Highsoft AS
6
+ Author: Øystein Moseng
7
+
8
+ License: www.highcharts.com/license
9
+ */
10
+ (function(c){function f(){return!!this.points.length}function g(){this.hasData()?this.hideNoData():this.showNoData()}var d=c.seriesTypes,e=c.Chart.prototype,h=c.getOptions(),i=c.extend;i(h.lang,{noData:"No data to display"});h.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"},attr:{},style:{fontWeight:"bold",fontSize:"12px",color:"#60606a"}};d.pie.prototype.hasData=f;if(d.gauge)d.gauge.prototype.hasData=f;if(d.waterfall)d.waterfall.prototype.hasData=f;c.Series.prototype.hasData=function(){return this.dataMax!==
11
+ void 0&&this.dataMin!==void 0};e.showNoData=function(a){var b=this.options,a=a||b.lang.noData,b=b.noData;if(!this.noDataLabel)this.noDataLabel=this.renderer.label(a,0,0,null,null,null,null,null,"no-data").attr(b.attr).css(b.style).add(),this.noDataLabel.align(i(this.noDataLabel.getBBox(),b.position),!1,"plotBox")};e.hideNoData=function(){if(this.noDataLabel)this.noDataLabel=this.noDataLabel.destroy()};e.hasData=function(){for(var a=this.series,b=a.length;b--;)if(a[b].hasData()&&!a[b].options.isInternal)return!0;
12
+ return!1};e.callbacks.push(function(a){c.addEvent(a,"load",g);c.addEvent(a,"redraw",g)})})(Highcharts);
@@ -0,0 +1,128 @@
1
+ /**
2
+ * @license Highstock JS v1.3.7 (2013-10-24)
3
+ * Plugin for displaying a message when there is no data visible in chart.
4
+ *
5
+ * (c) 2010-2013 Highsoft AS
6
+ * Author: Øystein Moseng
7
+ *
8
+ * License: www.highcharts.com/license
9
+ */
10
+
11
+ (function (H) { // docs
12
+
13
+ var seriesTypes = H.seriesTypes,
14
+ chartPrototype = H.Chart.prototype,
15
+ defaultOptions = H.getOptions(),
16
+ extend = H.extend;
17
+
18
+ // Add language option
19
+ extend(defaultOptions.lang, {
20
+ noData: 'No data to display'
21
+ });
22
+
23
+ // Add default display options for message
24
+ defaultOptions.noData = {
25
+ position: {
26
+ x: 0,
27
+ y: 0,
28
+ align: 'center',
29
+ verticalAlign: 'middle'
30
+ },
31
+ attr: {
32
+ },
33
+ style: {
34
+ fontWeight: 'bold',
35
+ fontSize: '12px',
36
+ color: '#60606a'
37
+ }
38
+ };
39
+
40
+ /**
41
+ * Define hasData functions for series. These return true if there are data points on this series within the plot area
42
+ */
43
+ function hasDataPie() {
44
+ return !!this.points.length; /* != 0 */
45
+ }
46
+
47
+ seriesTypes.pie.prototype.hasData = hasDataPie;
48
+
49
+ if (seriesTypes.gauge) {
50
+ seriesTypes.gauge.prototype.hasData = hasDataPie;
51
+ }
52
+
53
+ if (seriesTypes.waterfall) {
54
+ seriesTypes.waterfall.prototype.hasData = hasDataPie;
55
+ }
56
+
57
+ H.Series.prototype.hasData = function () {
58
+ return this.dataMax !== undefined && this.dataMin !== undefined;
59
+ };
60
+
61
+ /**
62
+ * Display a no-data message.
63
+ *
64
+ * @param {String} str An optional message to show in place of the default one
65
+ */
66
+ chartPrototype.showNoData = function (str) {
67
+ var chart = this,
68
+ options = chart.options,
69
+ text = str || options.lang.noData,
70
+ noDataOptions = options.noData;
71
+
72
+ if (!chart.noDataLabel) {
73
+ chart.noDataLabel = chart.renderer.label(text, 0, 0, null, null, null, null, null, 'no-data')
74
+ .attr(noDataOptions.attr)
75
+ .css(noDataOptions.style)
76
+ .add();
77
+ chart.noDataLabel.align(extend(chart.noDataLabel.getBBox(), noDataOptions.position), false, 'plotBox');
78
+ }
79
+ };
80
+
81
+ /**
82
+ * Hide no-data message
83
+ */
84
+ chartPrototype.hideNoData = function () {
85
+ var chart = this;
86
+ if (chart.noDataLabel) {
87
+ chart.noDataLabel = chart.noDataLabel.destroy();
88
+ }
89
+ };
90
+
91
+ /**
92
+ * Returns true if there are data points within the plot area now
93
+ */
94
+ chartPrototype.hasData = function () {
95
+ var chart = this,
96
+ series = chart.series,
97
+ i = series.length;
98
+
99
+ while (i--) {
100
+ if (series[i].hasData() && !series[i].options.isInternal) {
101
+ return true;
102
+ }
103
+ }
104
+
105
+ return false;
106
+ };
107
+
108
+ /**
109
+ * Show no-data message if there is no data in sight. Otherwise, hide it.
110
+ */
111
+ function handleNoData() {
112
+ var chart = this;
113
+ if (chart.hasData()) {
114
+ chart.hideNoData();
115
+ } else {
116
+ chart.showNoData();
117
+ }
118
+ }
119
+
120
+ /**
121
+ * Add event listener to handle automatic display of no-data message
122
+ */
123
+ chartPrototype.callbacks.push(function (chart) {
124
+ H.addEvent(chart, 'load', handleNoData);
125
+ H.addEvent(chart, 'redraw', handleNoData);
126
+ });
127
+
128
+ }(Highcharts));
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Dark blue theme for Highcharts JS
3
+ * @author Torstein Hønsi
4
+ */
5
+
6
+ Highcharts.theme = {
7
+ colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee",
8
+ "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"],
9
+ chart: {
10
+ backgroundColor: {
11
+ linearGradient: { x1: 0, y1: 0, x2: 1, y2: 1 },
12
+ stops: [
13
+ [0, 'rgb(48, 48, 96)'],
14
+ [1, 'rgb(0, 0, 0)']
15
+ ]
16
+ },
17
+ borderColor: '#000000',
18
+ borderWidth: 2,
19
+ className: 'dark-container',
20
+ plotBackgroundColor: 'rgba(255, 255, 255, .1)',
21
+ plotBorderColor: '#CCCCCC',
22
+ plotBorderWidth: 1
23
+ },
24
+ title: {
25
+ style: {
26
+ color: '#C0C0C0',
27
+ font: 'bold 16px "Trebuchet MS", Verdana, sans-serif'
28
+ }
29
+ },
30
+ subtitle: {
31
+ style: {
32
+ color: '#666666',
33
+ font: 'bold 12px "Trebuchet MS", Verdana, sans-serif'
34
+ }
35
+ },
36
+ xAxis: {
37
+ gridLineColor: '#333333',
38
+ gridLineWidth: 1,
39
+ labels: {
40
+ style: {
41
+ color: '#A0A0A0'
42
+ }
43
+ },
44
+ lineColor: '#A0A0A0',
45
+ tickColor: '#A0A0A0',
46
+ title: {
47
+ style: {
48
+ color: '#CCC',
49
+ fontWeight: 'bold',
50
+ fontSize: '12px',
51
+ fontFamily: 'Trebuchet MS, Verdana, sans-serif'
52
+
53
+ }
54
+ }
55
+ },
56
+ yAxis: {
57
+ gridLineColor: '#333333',
58
+ labels: {
59
+ style: {
60
+ color: '#A0A0A0'
61
+ }
62
+ },
63
+ lineColor: '#A0A0A0',
64
+ minorTickInterval: null,
65
+ tickColor: '#A0A0A0',
66
+ tickWidth: 1,
67
+ title: {
68
+ style: {
69
+ color: '#CCC',
70
+ fontWeight: 'bold',
71
+ fontSize: '12px',
72
+ fontFamily: 'Trebuchet MS, Verdana, sans-serif'
73
+ }
74
+ }
75
+ },
76
+ tooltip: {
77
+ backgroundColor: 'rgba(0, 0, 0, 0.75)',
78
+ style: {
79
+ color: '#F0F0F0'
80
+ }
81
+ },
82
+ toolbar: {
83
+ itemStyle: {
84
+ color: 'silver'
85
+ }
86
+ },
87
+ plotOptions: {
88
+ line: {
89
+ dataLabels: {
90
+ color: '#CCC'
91
+ },
92
+ marker: {
93
+ lineColor: '#333'
94
+ }
95
+ },
96
+ spline: {
97
+ marker: {
98
+ lineColor: '#333'
99
+ }
100
+ },
101
+ scatter: {
102
+ marker: {
103
+ lineColor: '#333'
104
+ }
105
+ },
106
+ candlestick: {
107
+ lineColor: 'white'
108
+ }
109
+ },
110
+ legend: {
111
+ itemStyle: {
112
+ font: '9pt Trebuchet MS, Verdana, sans-serif',
113
+ color: '#A0A0A0'
114
+ },
115
+ itemHoverStyle: {
116
+ color: '#FFF'
117
+ },
118
+ itemHiddenStyle: {
119
+ color: '#444'
120
+ }
121
+ },
122
+ credits: {
123
+ style: {
124
+ color: '#666'
125
+ }
126
+ },
127
+ labels: {
128
+ style: {
129
+ color: '#CCC'
130
+ }
131
+ },
132
+
133
+ navigation: {
134
+ buttonOptions: {
135
+ symbolStroke: '#DDDDDD',
136
+ hoverSymbolStroke: '#FFFFFF',
137
+ theme: {
138
+ fill: {
139
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
140
+ stops: [
141
+ [0.4, '#606060'],
142
+ [0.6, '#333333']
143
+ ]
144
+ },
145
+ stroke: '#000000'
146
+ }
147
+ }
148
+ },
149
+
150
+ // scroll charts
151
+ rangeSelector: {
152
+ buttonTheme: {
153
+ fill: {
154
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
155
+ stops: [
156
+ [0.4, '#888'],
157
+ [0.6, '#555']
158
+ ]
159
+ },
160
+ stroke: '#000000',
161
+ style: {
162
+ color: '#CCC',
163
+ fontWeight: 'bold'
164
+ },
165
+ states: {
166
+ hover: {
167
+ fill: {
168
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
169
+ stops: [
170
+ [0.4, '#BBB'],
171
+ [0.6, '#888']
172
+ ]
173
+ },
174
+ stroke: '#000000',
175
+ style: {
176
+ color: 'white'
177
+ }
178
+ },
179
+ select: {
180
+ fill: {
181
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
182
+ stops: [
183
+ [0.1, '#000'],
184
+ [0.3, '#333']
185
+ ]
186
+ },
187
+ stroke: '#000000',
188
+ style: {
189
+ color: 'yellow'
190
+ }
191
+ }
192
+ }
193
+ },
194
+ inputStyle: {
195
+ backgroundColor: '#333',
196
+ color: 'silver'
197
+ },
198
+ labelStyle: {
199
+ color: 'silver'
200
+ }
201
+ },
202
+
203
+ navigator: {
204
+ handles: {
205
+ backgroundColor: '#666',
206
+ borderColor: '#AAA'
207
+ },
208
+ outlineColor: '#CCC',
209
+ maskFill: 'rgba(16, 16, 16, 0.5)',
210
+ series: {
211
+ color: '#7798BF',
212
+ lineColor: '#A6C7ED'
213
+ }
214
+ },
215
+
216
+ scrollbar: {
217
+ barBackgroundColor: {
218
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
219
+ stops: [
220
+ [0.4, '#888'],
221
+ [0.6, '#555']
222
+ ]
223
+ },
224
+ barBorderColor: '#CCC',
225
+ buttonArrowColor: '#CCC',
226
+ buttonBackgroundColor: {
227
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
228
+ stops: [
229
+ [0.4, '#888'],
230
+ [0.6, '#555']
231
+ ]
232
+ },
233
+ buttonBorderColor: '#CCC',
234
+ rifleColor: '#FFF',
235
+ trackBackgroundColor: {
236
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
237
+ stops: [
238
+ [0, '#000'],
239
+ [1, '#333']
240
+ ]
241
+ },
242
+ trackBorderColor: '#666'
243
+ },
244
+
245
+ // special colors for some of the
246
+ legendBackgroundColor: 'rgba(0, 0, 0, 0.5)',
247
+ legendBackgroundColorSolid: 'rgb(35, 35, 70)',
248
+ dataLabelsColor: '#444',
249
+ textColor: '#C0C0C0',
250
+ maskColor: 'rgba(255,255,255,0.3)'
251
+ };
252
+
253
+ // Apply the theme
254
+ var highchartsOptions = Highcharts.setOptions(Highcharts.theme);
@@ -0,0 +1,255 @@
1
+ /**
2
+ * Dark blue theme for Highcharts JS
3
+ * @author Torstein Hønsi
4
+ */
5
+
6
+ Highcharts.theme = {
7
+ colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee",
8
+ "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"],
9
+ chart: {
10
+ backgroundColor: {
11
+ linearGradient: [0, 0, 250, 500],
12
+ stops: [
13
+ [0, 'rgb(48, 96, 48)'],
14
+ [1, 'rgb(0, 0, 0)']
15
+ ]
16
+ },
17
+ borderColor: '#000000',
18
+ borderWidth: 2,
19
+ className: 'dark-container',
20
+ plotBackgroundColor: 'rgba(255, 255, 255, .1)',
21
+ plotBorderColor: '#CCCCCC',
22
+ plotBorderWidth: 1
23
+ },
24
+ title: {
25
+ style: {
26
+ color: '#C0C0C0',
27
+ font: 'bold 16px "Trebuchet MS", Verdana, sans-serif'
28
+ }
29
+ },
30
+ subtitle: {
31
+ style: {
32
+ color: '#666666',
33
+ font: 'bold 12px "Trebuchet MS", Verdana, sans-serif'
34
+ }
35
+ },
36
+ xAxis: {
37
+ gridLineColor: '#333333',
38
+ gridLineWidth: 1,
39
+ labels: {
40
+ style: {
41
+ color: '#A0A0A0'
42
+ }
43
+ },
44
+ lineColor: '#A0A0A0',
45
+ tickColor: '#A0A0A0',
46
+ title: {
47
+ style: {
48
+ color: '#CCC',
49
+ fontWeight: 'bold',
50
+ fontSize: '12px',
51
+ fontFamily: 'Trebuchet MS, Verdana, sans-serif'
52
+
53
+ }
54
+ }
55
+ },
56
+ yAxis: {
57
+ gridLineColor: '#333333',
58
+ labels: {
59
+ style: {
60
+ color: '#A0A0A0'
61
+ }
62
+ },
63
+ lineColor: '#A0A0A0',
64
+ minorTickInterval: null,
65
+ tickColor: '#A0A0A0',
66
+ tickWidth: 1,
67
+ title: {
68
+ style: {
69
+ color: '#CCC',
70
+ fontWeight: 'bold',
71
+ fontSize: '12px',
72
+ fontFamily: 'Trebuchet MS, Verdana, sans-serif'
73
+ }
74
+ }
75
+ },
76
+ tooltip: {
77
+ backgroundColor: 'rgba(0, 0, 0, 0.75)',
78
+ style: {
79
+ color: '#F0F0F0'
80
+ }
81
+ },
82
+ toolbar: {
83
+ itemStyle: {
84
+ color: 'silver'
85
+ }
86
+ },
87
+ plotOptions: {
88
+ line: {
89
+ dataLabels: {
90
+ color: '#CCC'
91
+ },
92
+ marker: {
93
+ lineColor: '#333'
94
+ }
95
+ },
96
+ spline: {
97
+ marker: {
98
+ lineColor: '#333'
99
+ }
100
+ },
101
+ scatter: {
102
+ marker: {
103
+ lineColor: '#333'
104
+ }
105
+ },
106
+ candlestick: {
107
+ lineColor: 'white'
108
+ }
109
+ },
110
+ legend: {
111
+ itemStyle: {
112
+ font: '9pt Trebuchet MS, Verdana, sans-serif',
113
+ color: '#A0A0A0'
114
+ },
115
+ itemHoverStyle: {
116
+ color: '#FFF'
117
+ },
118
+ itemHiddenStyle: {
119
+ color: '#444'
120
+ }
121
+ },
122
+ credits: {
123
+ style: {
124
+ color: '#666'
125
+ }
126
+ },
127
+ labels: {
128
+ style: {
129
+ color: '#CCC'
130
+ }
131
+ },
132
+
133
+
134
+ navigation: {
135
+ buttonOptions: {
136
+ symbolStroke: '#DDDDDD',
137
+ hoverSymbolStroke: '#FFFFFF',
138
+ theme: {
139
+ fill: {
140
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
141
+ stops: [
142
+ [0.4, '#606060'],
143
+ [0.6, '#333333']
144
+ ]
145
+ },
146
+ stroke: '#000000'
147
+ }
148
+ }
149
+ },
150
+
151
+ // scroll charts
152
+ rangeSelector: {
153
+ buttonTheme: {
154
+ fill: {
155
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
156
+ stops: [
157
+ [0.4, '#888'],
158
+ [0.6, '#555']
159
+ ]
160
+ },
161
+ stroke: '#000000',
162
+ style: {
163
+ color: '#CCC',
164
+ fontWeight: 'bold'
165
+ },
166
+ states: {
167
+ hover: {
168
+ fill: {
169
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
170
+ stops: [
171
+ [0.4, '#BBB'],
172
+ [0.6, '#888']
173
+ ]
174
+ },
175
+ stroke: '#000000',
176
+ style: {
177
+ color: 'white'
178
+ }
179
+ },
180
+ select: {
181
+ fill: {
182
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
183
+ stops: [
184
+ [0.1, '#000'],
185
+ [0.3, '#333']
186
+ ]
187
+ },
188
+ stroke: '#000000',
189
+ style: {
190
+ color: 'yellow'
191
+ }
192
+ }
193
+ }
194
+ },
195
+ inputStyle: {
196
+ backgroundColor: '#333',
197
+ color: 'silver'
198
+ },
199
+ labelStyle: {
200
+ color: 'silver'
201
+ }
202
+ },
203
+
204
+ navigator: {
205
+ handles: {
206
+ backgroundColor: '#666',
207
+ borderColor: '#AAA'
208
+ },
209
+ outlineColor: '#CCC',
210
+ maskFill: 'rgba(16, 16, 16, 0.5)',
211
+ series: {
212
+ color: '#7798BF',
213
+ lineColor: '#A6C7ED'
214
+ }
215
+ },
216
+
217
+ scrollbar: {
218
+ barBackgroundColor: {
219
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
220
+ stops: [
221
+ [0.4, '#888'],
222
+ [0.6, '#555']
223
+ ]
224
+ },
225
+ barBorderColor: '#CCC',
226
+ buttonArrowColor: '#CCC',
227
+ buttonBackgroundColor: {
228
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
229
+ stops: [
230
+ [0.4, '#888'],
231
+ [0.6, '#555']
232
+ ]
233
+ },
234
+ buttonBorderColor: '#CCC',
235
+ rifleColor: '#FFF',
236
+ trackBackgroundColor: {
237
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
238
+ stops: [
239
+ [0, '#000'],
240
+ [1, '#333']
241
+ ]
242
+ },
243
+ trackBorderColor: '#666'
244
+ },
245
+
246
+ // special colors for some of the
247
+ legendBackgroundColor: 'rgba(0, 0, 0, 0.5)',
248
+ legendBackgroundColorSolid: 'rgb(35, 35, 70)',
249
+ dataLabelsColor: '#444',
250
+ textColor: '#C0C0C0',
251
+ maskColor: 'rgba(255,255,255,0.3)'
252
+ };
253
+
254
+ // Apply the theme
255
+ var highchartsOptions = Highcharts.setOptions(Highcharts.theme);