demo.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502
  1. $(function(){
  2. //
  3. var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
  4. var d1 = [];
  5. for (var i = 0; i <= 11; i += 1) {
  6. d1.push([i, parseInt((Math.floor(Math.random() * (1 + 20 - 10))) + 10)]);
  7. }
  8. $("#flot-1ine").length && $.plot($("#flot-1ine"), [{
  9. data: d1
  10. }],
  11. {
  12. series: {
  13. lines: {
  14. show: true,
  15. lineWidth: 1,
  16. fill: true,
  17. fillColor: {
  18. colors: [{
  19. opacity: 0.3
  20. }, {
  21. opacity: 0.3
  22. }]
  23. }
  24. },
  25. points: {
  26. radius: 3,
  27. show: true
  28. },
  29. grow: {
  30. active: true,
  31. steps: 20,
  32. growings:[
  33. {
  34. stepDirection: "down"
  35. }
  36. ]
  37. },
  38. shadowSize: 2
  39. },
  40. grid: {
  41. hoverable: true,
  42. clickable: true,
  43. tickColor: "#f0f0f0",
  44. borderWidth: 1,
  45. color: '#f0f0f0'
  46. },
  47. colors: ["#1bb399"],
  48. xaxis:{
  49. },
  50. yaxis: {
  51. ticks: 5
  52. },
  53. tooltip: true,
  54. tooltipOpts: {
  55. content: "chart: %x.1 is %y.4",
  56. defaultTheme: false,
  57. shifts: {
  58. x: 0,
  59. y: 20
  60. }
  61. }
  62. }
  63. );
  64. var d0 = [
  65. [0,0],[1,0],[2,1],[3,2],[4,15],[5,5],[6,12],[7,10],[8,55],[9,13],[10,25],[11,10],[12,12],[13,6],[14,2],[15,0],[16,0]
  66. ];
  67. var d00 = [
  68. [0,0],[1,0],[2,1],[3,0],[4,1],[5,0],[6,2],[7,0],[8,3],[9,1],[10,0],[11,1],[12,0],[13,2],[14,1],[15,0],[16,0]
  69. ];
  70. $("#flot-sp1ine").length && $.plot($("#flot-sp1ine"), [
  71. d0, d00
  72. ],
  73. {
  74. series: {
  75. lines: {
  76. show: false
  77. },
  78. splines: {
  79. show: true,
  80. tension: 0.4,
  81. lineWidth: 1,
  82. fill: 0.4
  83. },
  84. points: {
  85. radius: 0,
  86. show: true
  87. },
  88. shadowSize: 2
  89. },
  90. grid: {
  91. hoverable: true,
  92. clickable: true,
  93. tickColor: "#d9dee9",
  94. borderWidth: 1,
  95. color: '#d9dee9'
  96. },
  97. colors: ["#19b39b", "#644688"],
  98. xaxis:{
  99. },
  100. yaxis: {
  101. ticks: 4
  102. },
  103. tooltip: true,
  104. tooltipOpts: {
  105. content: "chart: %x.1 is %y.4",
  106. defaultTheme: false,
  107. shifts: {
  108. x: 0,
  109. y: 20
  110. }
  111. }
  112. }
  113. );
  114. var d2 = [];
  115. for (var i = 0; i <= 6; i += 1) {
  116. d2.push([i, parseInt((Math.floor(Math.random() * (1 + 30 - 10))) + 10)]);
  117. }
  118. var d3 = [];
  119. for (var i = 0; i <= 6; i += 1) {
  120. d3.push([i, parseInt((Math.floor(Math.random() * (1 + 30 - 10))) + 10)]);
  121. }
  122. $("#flot-chart").length && $.plot($("#flot-chart"), [{
  123. data: d2,
  124. label: "Unique Visits"
  125. }, {
  126. data: d3,
  127. label: "Page Views"
  128. }],
  129. {
  130. series: {
  131. lines: {
  132. show: true,
  133. lineWidth: 1,
  134. fill: true,
  135. fillColor: {
  136. colors: [{
  137. opacity: 0.3
  138. }, {
  139. opacity: 0.3
  140. }]
  141. }
  142. },
  143. points: {
  144. show: true
  145. },
  146. shadowSize: 2
  147. },
  148. grid: {
  149. hoverable: true,
  150. clickable: true,
  151. tickColor: "#f0f0f0",
  152. borderWidth: 0
  153. },
  154. colors: ["#1bb399","#177bbb"],
  155. xaxis: {
  156. ticks: 15,
  157. tickDecimals: 0
  158. },
  159. yaxis: {
  160. ticks: 10,
  161. tickDecimals: 0
  162. },
  163. tooltip: true,
  164. tooltipOpts: {
  165. content: "'%s' of %x.1 is %y.4",
  166. defaultTheme: false,
  167. shifts: {
  168. x: 0,
  169. y: 20
  170. }
  171. }
  172. }
  173. );
  174. // live update
  175. var data = [],
  176. totalPoints = 300;
  177. function getRandomData() {
  178. if (data.length > 0)
  179. data = data.slice(1);
  180. // Do a random walk
  181. while (data.length < totalPoints) {
  182. var prev = data.length > 0 ? data[data.length - 1] : 50,
  183. y = prev + Math.random() * 10 - 5;
  184. if (y < 0) {
  185. y = 0;
  186. } else if (y > 100) {
  187. y = 100;
  188. }
  189. data.push(y);
  190. }
  191. // Zip the generated y values with the x values
  192. var res = [];
  193. for (var i = 0; i < data.length; ++i) {
  194. res.push([i, data[i]])
  195. }
  196. return res;
  197. }
  198. var updateInterval = 30, live;
  199. $("#flot-live").length && ( live = $.plot("#flot-live", [ getRandomData() ], {
  200. series: {
  201. lines: {
  202. show: true,
  203. lineWidth: 1,
  204. fill: true,
  205. fillColor: {
  206. colors: [{
  207. opacity: 0.2
  208. }, {
  209. opacity: 0.1
  210. }]
  211. }
  212. },
  213. shadowSize: 2
  214. },
  215. colors: ["#cccccc"],
  216. yaxis: {
  217. min: 0,
  218. max: 100
  219. },
  220. xaxis: {
  221. show: false
  222. },
  223. grid: {
  224. tickColor: "#f0f0f0",
  225. borderWidth: 0
  226. },
  227. }) ) && update();
  228. function update() {
  229. live.setData([getRandomData()]);
  230. // Since the axes don't change, we don't need to call plot.setupGrid()
  231. live.draw();
  232. setTimeout(update, updateInterval);
  233. };
  234. // bar
  235. var d1_1 = [
  236. [10, 120],
  237. [20, 70],
  238. [30, 100],
  239. [40, 60]
  240. ];
  241. var d1_2 = [
  242. [10, 80],
  243. [20, 60],
  244. [30, 30],
  245. [40, 35]
  246. ];
  247. var d1_3 = [
  248. [10, 80],
  249. [20, 40],
  250. [30, 30],
  251. [40, 20]
  252. ];
  253. var data1 = [
  254. {
  255. label: "Product 1",
  256. data: d1_1,
  257. bars: {
  258. show: true,
  259. fill: true,
  260. lineWidth: 1,
  261. order: 1,
  262. fillColor: { colors: [{ opacity: 0.5 }, { opacity: 0.9}] }
  263. },
  264. color: "#6783b7"
  265. },
  266. {
  267. label: "Product 2",
  268. data: d1_2,
  269. bars: {
  270. show: true,
  271. fill: true,
  272. lineWidth: 1,
  273. order: 2,
  274. fillColor: { colors: [{ opacity: 0.5 }, { opacity: 0.9}] }
  275. },
  276. color: "#4fcdb7"
  277. },
  278. {
  279. label: "Product 3",
  280. data: d1_3,
  281. bars: {
  282. show: true,
  283. fill: true,
  284. lineWidth: 1,
  285. order: 3,
  286. fillColor: { colors: [{ opacity: 0.5 }, { opacity: 0.9}] }
  287. },
  288. color: "#8dd168"
  289. }
  290. ];
  291. var d2_1 = [
  292. [90, 10],
  293. [70, 20]
  294. ];
  295. var d2_2 = [
  296. [80, 10],
  297. [60, 20]
  298. ];
  299. var d2_3 = [
  300. [120, 10],
  301. [50, 20]
  302. ];
  303. var data2 = [
  304. {
  305. label: "Product 1",
  306. data: d2_1,
  307. bars: {
  308. horizontal: true,
  309. show: true,
  310. fill: true,
  311. lineWidth: 1,
  312. order: 1,
  313. fillColor: { colors: [{ opacity: 0.5 }, { opacity: 1}] }
  314. },
  315. color: "#6783b7"
  316. },
  317. {
  318. label: "Product 2",
  319. data: d2_2,
  320. bars: {
  321. horizontal: true,
  322. show: true,
  323. fill: true,
  324. lineWidth: 1,
  325. order: 2,
  326. fillColor: { colors: [{ opacity: 0.5 }, { opacity: 1}] }
  327. },
  328. color: "#4fcdb7"
  329. },
  330. {
  331. label: "Product 3",
  332. data: d2_3,
  333. bars: {
  334. horizontal: true,
  335. show: true,
  336. fill: true,
  337. lineWidth: 1,
  338. order: 3,
  339. fillColor: { colors: [{ opacity: 0.5 }, { opacity: 1}] }
  340. },
  341. color: "#8dd168"
  342. }
  343. ];
  344. $("#flot-bar").length && $.plot($("#flot-bar"), data1, {
  345. xaxis: {
  346. },
  347. yaxis: {
  348. },
  349. grid: {
  350. hoverable: true,
  351. clickable: false,
  352. borderWidth: 0
  353. },
  354. legend: {
  355. labelBoxBorderColor: "none",
  356. position: "left"
  357. },
  358. series: {
  359. shadowSize: 1
  360. },
  361. tooltip: true,
  362. });
  363. $("#flot-bar-h").length && $.plot($("#flot-bar-h"), data2, {
  364. xaxis: {
  365. },
  366. yaxis: {
  367. },
  368. grid: {
  369. hoverable: true,
  370. clickable: false,
  371. borderWidth: 0
  372. },
  373. legend: {
  374. labelBoxBorderColor: "none",
  375. position: "left"
  376. },
  377. series: {
  378. shadowSize: 1
  379. },
  380. tooltip: true,
  381. });
  382. // pie
  383. var da = [
  384. {
  385. label: "iPhone5S",
  386. data: 40
  387. },
  388. {
  389. label: "iPad Mini",
  390. data: 10
  391. },
  392. {
  393. label: "iPad Mini Retina",
  394. data: 20
  395. },
  396. {
  397. label: "iPhone4S",
  398. data: 12
  399. },
  400. {
  401. label: "iPad Air",
  402. data: 18
  403. }
  404. ],
  405. da1 = [],
  406. series = Math.floor(Math.random() * 4) + 3;
  407. for (var i = 0; i < series; i++) {
  408. da1[i] = {
  409. label: "Series" + (i + 1),
  410. data: Math.floor(Math.random() * 100) + 1
  411. }
  412. }
  413. $("#flot-pie-donut").length && $.plot($("#flot-pie-donut"), da, {
  414. series: {
  415. pie: {
  416. innerRadius: 0.4,
  417. show: true,
  418. stroke: {
  419. width: 0
  420. },
  421. label: {
  422. show: true,
  423. threshold: 0.05
  424. },
  425. }
  426. },
  427. colors: ["#65b5c2","#4da7c1","#3993bb","#2e7bad","#23649e"],
  428. grid: {
  429. hoverable: true,
  430. clickable: false
  431. },
  432. tooltip: true,
  433. tooltipOpts: {
  434. content: "%s: %p.0%"
  435. }
  436. });
  437. $("#flot-pie").length && $.plot($("#flot-pie"), da, {
  438. series: {
  439. pie: {
  440. combine: {
  441. color: "#999",
  442. threshold: 0.05
  443. },
  444. show: true
  445. }
  446. },
  447. colors: ["#65b5c2","#4da7c1","#3993bb","#2e7bad","#23649e"],
  448. legend: {
  449. show: false
  450. },
  451. grid: {
  452. hoverable: true,
  453. clickable: false
  454. },
  455. tooltip: true,
  456. tooltipOpts: {
  457. content: "%s: %p.0%"
  458. }
  459. });
  460. });