rose_chart.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <template>
  2. <view class="charts-box">
  3. <qiun-data-charts type="rose" :opts="opts" :chartData="chartData" :canvas2d='isCanvas2d' :canvasId='canvasId' />
  4. </view>
  5. </template>
  6. <script>
  7. export default {
  8. data() {
  9. return {
  10. chartData: {},
  11. //这里的 opts 是图表类型 type="rose" 的全部配置参数,您可以将此配置复制到 config-ucharts.js 文件中下标为 ['rose'] 的节点中来覆盖全局默认参数。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。
  12. opts: {
  13. timing: "easeOut",
  14. duration: 1000,
  15. rotate: false,
  16. rotateLock: false,
  17. color: ["#2C7DF9", "#00BF8A", "#ED9A2C", "#EE6666", "#73C0DE", "#9A60B4", "#FC8452", "#3CA272",
  18. "#ea7ccc"
  19. ],
  20. padding: [5, 5, 5, 5],
  21. fontSize: 13,
  22. fontColor: "#666666",
  23. dataLabel: false,
  24. dataPointShape: true,
  25. dataPointShapeType: "solid",
  26. touchMoveLimit: 60,
  27. enableScroll: false,
  28. enableMarkLine: false,
  29. legend: {
  30. show: false,
  31. position: "left",
  32. lineHeight: 25,
  33. float: "center",
  34. padding: 5,
  35. margin: 5,
  36. backgroundColor: "rgba(0,0,0,0)",
  37. borderColor: "rgba(0,0,0,0)",
  38. borderWidth: 0,
  39. fontSize: 13,
  40. fontColor: "#666666",
  41. hiddenColor: "#CECECE",
  42. itemGap: 10
  43. },
  44. extra: {
  45. rose: {
  46. type: "area",
  47. minRadius: 40,
  48. activeOpacity: 0.5,
  49. activeRadius: 10,
  50. offsetAngle: -180,
  51. labelWidth: 15,
  52. border: true,
  53. borderWidth: 4,
  54. borderColor: "#FFFFFF",
  55. linearType: "none"
  56. },
  57. tooltip: {
  58. showBox: true,
  59. showArrow: true,
  60. showCategory: false,
  61. borderWidth: 0,
  62. borderRadius: 5,
  63. borderColor: "#000000",
  64. borderOpacity: 0.7,
  65. bgColor: "#000000",
  66. bgOpacity: 0.7,
  67. gridType: "solid",
  68. dashLength: 4,
  69. gridColor: "#CCCCCC",
  70. boxPadding: 3,
  71. fontSize: 13,
  72. lineHeight: 20,
  73. fontColor: "#FFFFFF",
  74. legendShow: true,
  75. legendShape: "auto",
  76. splitLine: true,
  77. horizentalLine: false,
  78. xAxisLabel: false,
  79. yAxisLabel: false,
  80. labelBgColor: "#FFFFFF",
  81. labelBgOpacity: 0.7,
  82. labelFontColor: "#666666"
  83. }
  84. }
  85. }
  86. };
  87. },
  88. onReady() {
  89. // this.getServerData();
  90. },
  91. methods: {
  92. getServerData() {
  93. //模拟从服务器获取数据时的延时
  94. // setTimeout(() => {
  95. // //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
  96. // let res = {
  97. // series: [{
  98. // data: [{
  99. // "name": "一班",
  100. // "value": 50
  101. // }, {
  102. // "name": "二班",
  103. // "value": 30
  104. // }, {
  105. // "name": "三班",
  106. // "value": 20
  107. // }, {
  108. // "name": "四班",
  109. // "value": 18
  110. // }, {
  111. // "name": "五班",
  112. // "value": 8
  113. // }, {
  114. // "name": "五班",
  115. // "value": 8
  116. // }]
  117. // }]
  118. // };
  119. // this.chartData = JSON.parse(JSON.stringify(res));
  120. // }, 500);
  121. },
  122. setNoData(){
  123. //设置空数据模板
  124. },
  125. setServerData(data){
  126. setTimeout(() => {
  127. //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
  128. let res = {
  129. series: [{
  130. data: data
  131. }]
  132. };
  133. this.chartData = JSON.parse(JSON.stringify(res));
  134. }, 50);
  135. }
  136. }
  137. };
  138. </script>
  139. <style scoped>
  140. /* 请根据实际需求修改父元素尺寸,组件自动识别宽高 */
  141. .charts-box {
  142. width: 220rpx;
  143. height: 220rpx;
  144. }
  145. </style>