index.htm 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <title>Highcharts Example</title>
  7. <style type="text/css">
  8. #container {
  9. min-width: 310px;
  10. max-width: 800px;
  11. height: 600px;
  12. margin: 0 auto
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <script src="../../code/highcharts.js"></script>
  18. <script src="../../code/modules/streamgraph.js"></script>
  19. <script src="../../code/modules/series-label.js"></script>
  20. <script src="../../code/modules/annotations.js"></script>
  21. <script src="../../code/modules/exporting.js"></script>
  22. <div id="container"></div>
  23. <script type="text/javascript">
  24. var colors = Highcharts.getOptions().colors;
  25. Highcharts.chart('container', {
  26. chart: {
  27. type: 'streamgraph',
  28. marginBottom: 30,
  29. zoomType: 'x'
  30. },
  31. // Make sure connected countries have similar colors
  32. colors: [
  33. colors[0],
  34. colors[1],
  35. colors[2],
  36. colors[3],
  37. colors[4],
  38. // East Germany, West Germany and Germany
  39. Highcharts.color(colors[5]).brighten(0.2).get(),
  40. Highcharts.color(colors[5]).brighten(0.1).get(),
  41. colors[5],
  42. colors[6],
  43. colors[7],
  44. colors[8],
  45. colors[9],
  46. colors[0],
  47. colors[1],
  48. colors[3],
  49. // Soviet Union, Russia
  50. Highcharts.color(colors[2]).brighten(-0.1).get(),
  51. Highcharts.color(colors[2]).brighten(-0.2).get(),
  52. Highcharts.color(colors[2]).brighten(-0.3).get()
  53. ],
  54. title: {
  55. floating: true,
  56. align: 'left',
  57. text: 'Winter Olympic Medal Wins'
  58. },
  59. subtitle: {
  60. floating: true,
  61. align: 'left',
  62. y: 30,
  63. text: 'Source: <a href="https://www.sports-reference.com/olympics/winter/1924/">sports-reference.com</a>'
  64. },
  65. xAxis: {
  66. maxPadding: 0,
  67. type: 'category',
  68. crosshair: true,
  69. categories: [
  70. '',
  71. '1924 Chamonix',
  72. '1928 St. Moritz',
  73. '1932 Lake Placid',
  74. '1936 Garmisch-Partenkirchen',
  75. '1940 <i>Cancelled (Sapporo)</i>',
  76. '1944 <i>Cancelled (Cortina d\'Ampezzo)</i>',
  77. '1948 St. Moritz',
  78. '1952 Oslo',
  79. '1956 Cortina d\'Ampezzo',
  80. '1960 Squaw Valley',
  81. '1964 Innsbruck',
  82. '1968 Grenoble',
  83. '1972 Sapporo',
  84. '1976 Innsbruck',
  85. '1980 Lake Placid',
  86. '1984 Sarajevo',
  87. '1988 Calgary',
  88. '1992 Albertville',
  89. '1994 Lillehammer',
  90. '1998 Nagano',
  91. '2002 Salt Lake City',
  92. '2006 Turin',
  93. '2010 Vancouver',
  94. '2014 Sochi'
  95. ],
  96. labels: {
  97. align: 'left',
  98. reserveSpace: false,
  99. rotation: 270
  100. },
  101. lineWidth: 0,
  102. margin: 20,
  103. tickWidth: 0
  104. },
  105. yAxis: {
  106. visible: false,
  107. startOnTick: false,
  108. endOnTick: false
  109. },
  110. legend: {
  111. enabled: false
  112. },
  113. annotations: [{
  114. labels: [{
  115. point: {
  116. x: 5.5,
  117. xAxis: 0,
  118. y: 30,
  119. yAxis: 0
  120. },
  121. text: 'Cancelled<br>during<br>World War II'
  122. }, {
  123. point: {
  124. x: 18,
  125. xAxis: 0,
  126. y: 90,
  127. yAxis: 0
  128. },
  129. text: 'Soviet Union fell,<br>Germany united'
  130. }],
  131. labelOptions: {
  132. backgroundColor: 'rgba(255,255,255,0.5)',
  133. borderColor: 'silver'
  134. }
  135. }],
  136. plotOptions: {
  137. series: {
  138. label: {
  139. minFontSize: 5,
  140. maxFontSize: 15,
  141. style: {
  142. color: 'rgba(255,255,255,0.75)'
  143. }
  144. }
  145. }
  146. },
  147. // Data parsed with olympic-medals.node.js
  148. series: [{
  149. "name": "Finland",
  150. "data": [
  151. 0, 11, 4, 3, 6, 0, 0, 6, 9, 7, 8, 10, 5, 5, 7, 9, 13, 7, 7, 6, 12, 7, 9, 5, 5
  152. ]
  153. }, {
  154. "name": "Austria",
  155. "data": [
  156. 0, 3, 4, 2, 4, 0, 0, 8, 8, 11, 6, 12, 11, 5, 6, 7, 1, 10, 21, 9, 17, 17, 23, 16, 17
  157. ]
  158. }, {
  159. "name": "Sweden",
  160. "data": [
  161. 0, 2, 5, 3, 7, 0, 0, 10, 4, 10, 7, 7, 8, 4, 2, 4, 8, 6, 4, 3, 3, 7, 14, 11, 15
  162. ]
  163. }, {
  164. "name": "Norway",
  165. "data": [
  166. 0, 17, 15, 10, 15, 0, 0, 10, 16, 4, 6, 15, 14, 12, 7, 10, 9, 5, 20, 26, 25, 25, 19, 23, 26
  167. ]
  168. }, {
  169. "name": "U.S.",
  170. "data": [
  171. 0, 4, 6, 12, 4, 0, 0, 9, 11, 7, 10, 7, 7, 8, 10, 12, 8, 6, 11, 13, 13, 34, 25, 37, 28
  172. ]
  173. }, {
  174. "name": "East Germany",
  175. "data": [
  176. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 14, 19, 23, 24, 25, 0, 0, 0, 0, 0, 0, 0
  177. ]
  178. }, {
  179. "name": "West Germany",
  180. "data": [
  181. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 5, 10, 5, 4, 8, 0, 0, 0, 0, 0, 0, 0
  182. ]
  183. }, {
  184. "name": "Germany",
  185. "data": [
  186. 0, 0, 1, 2, 6, 0, 0, 0, 7, 2, 8, 9, 0, 0, 0, 0, 0, 0, 26, 24, 29, 36, 29, 30, 19
  187. ]
  188. }, {
  189. "name": "Netherlands",
  190. "data": [
  191. 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 2, 9, 9, 6, 4, 0, 7, 4, 4, 11, 8, 9, 8, 24
  192. ]
  193. }, {
  194. "name": "Italy",
  195. "data": [
  196. 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 1, 4, 4, 5, 4, 2, 2, 5, 14, 20, 10, 13, 11, 5, 8
  197. ]
  198. }, {
  199. "name": "Canada",
  200. "data": [
  201. 0, 1, 1, 7, 1, 0, 0, 3, 2, 3, 4, 3, 3, 1, 3, 2, 4, 5, 7, 13, 15, 17, 24, 26, 25
  202. ]
  203. }, {
  204. "name": "Switzerland",
  205. "data": [
  206. 0, 3, 1, 1, 3, 0, 0, 10, 2, 6, 2, 0, 6, 10, 5, 5, 5, 15, 3, 9, 7, 11, 14, 9, 11
  207. ]
  208. }, {
  209. "name": "Great Britain",
  210. "data": [
  211. 0, 4, 1, 0, 3, 0, 0, 2, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 2, 1, 2, 1, 1, 4
  212. ]
  213. }, {
  214. "name": "France",
  215. "data": [
  216. 0, 3, 1, 1, 1, 0, 0, 5, 1, 0, 3, 7, 9, 3, 1, 1, 3, 2, 9, 5, 8, 11, 9, 11, 15
  217. ]
  218. }, {
  219. "name": "Hungary",
  220. "data": [
  221. 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
  222. ]
  223. }, {
  224. "name": "Unified Team",
  225. "data": [
  226. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0
  227. ]
  228. }, {
  229. "name": "Soviet Union",
  230. "data": [
  231. 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 21, 25, 13, 16, 27, 22, 25, 29, 0, 0, 0, 0, 0, 0, 0
  232. ]
  233. }, {
  234. "name": "Russia",
  235. "data": [
  236. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 18, 13, 22, 15, 33
  237. ]
  238. }, {
  239. "name": "Japan",
  240. "data": [
  241. 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 1, 1, 1, 7, 5, 10, 2, 1, 5, 8
  242. ]
  243. }, {
  244. "name": "Czechoslovakia",
  245. "data": [
  246. 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 4, 3, 1, 1, 6, 3, 3, 0, 0, 0, 0, 0, 0
  247. ]
  248. }, {
  249. "name": "Poland",
  250. "data": [
  251. 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 6, 6
  252. ]
  253. }, {
  254. "name": "Spain",
  255. "data": [
  256. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0
  257. ]
  258. }, {
  259. "name": "China",
  260. "data": [
  261. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 8, 8, 11, 11, 9
  262. ]
  263. }, {
  264. "name": "South Korea",
  265. "data": [
  266. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 4, 11, 14, 8
  267. ]
  268. }, {
  269. "name": "Czech Republic",
  270. "data": [
  271. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 4, 6, 8
  272. ]
  273. }, {
  274. "name": "Belarus",
  275. "data": [
  276. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 3, 6
  277. ]
  278. }, {
  279. "name": "Kazakhstan",
  280. "data": [
  281. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 1, 1
  282. ]
  283. }, {
  284. "name": "Bulgaria",
  285. "data": [
  286. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 1, 0, 0
  287. ]
  288. }, {
  289. "name": "Denmark",
  290. "data": [
  291. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0
  292. ]
  293. }, {
  294. "name": "Ukraine",
  295. "data": [
  296. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 2, 0, 2
  297. ]
  298. }, {
  299. "name": "Australia",
  300. "data": [
  301. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3
  302. ]
  303. }, {
  304. "name": "Belgium",
  305. "data": [
  306. 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0
  307. ]
  308. }, {
  309. "name": "Romania",
  310. "data": [
  311. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  312. ]
  313. }, {
  314. "name": "Liechtenstein",
  315. "data": [
  316. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0
  317. ]
  318. }, {
  319. "name": "Yugoslavia",
  320. "data": [
  321. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0
  322. ]
  323. }, {
  324. "name": "Luxembourg",
  325. "data": [
  326. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0
  327. ]
  328. }, {
  329. "name": "New Zealand",
  330. "data": [
  331. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0
  332. ]
  333. }, {
  334. "name": "North Korea",
  335. "data": [
  336. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0
  337. ]
  338. }, {
  339. "name": "Slovakia",
  340. "data": [
  341. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 1
  342. ]
  343. }, {
  344. "name": "Croatia",
  345. "data": [
  346. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 3, 1
  347. ]
  348. }, {
  349. "name": "Slovenia",
  350. "data": [
  351. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 3, 8
  352. ]
  353. }, {
  354. "name": "Latvia",
  355. "data": [
  356. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 4
  357. ]
  358. }, {
  359. "name": "Estonia",
  360. "data": [
  361. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0
  362. ]
  363. }, {
  364. "name": "Uzbekistan",
  365. "data": [
  366. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0
  367. ]
  368. }],
  369. exporting: {
  370. sourceWidth: 800,
  371. sourceHeight: 600
  372. }
  373. });
  374. </script>
  375. </body>
  376. </html>