radar.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <template>
  2. <view class="qiun-columns">
  3. <view class="qiun-bg-white qiun-title-bar qiun-common-mt">
  4. <!-- <view class="qiun-title-dot-light">雷达图2</view> -->
  5. </view>
  6. <view class="qiun-charts">
  7. <canvas canvas-id="canvasRadar" id="canvasRadar" class="charts"></canvas>
  8. <!-- <uCharts canvas-id="canvasRadar" id="canvasRadar" class="charts"></uCharts> -->
  9. </view>
  10. </view>
  11. </template>
  12. <script>
  13. // import uCharts from 'https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts.min.js';
  14. import uCharts from '@../../js_sdk/u-charts/u-charts/u-charts.js';
  15. // import uCharts from '../../js_sdk/u-charts/u-charts/u-charts.vue';
  16. var _self;
  17. var canvaRadar = null;
  18. export default {
  19. components:{
  20. // uCharts
  21. },
  22. data() {
  23. return {
  24. cWidth: '',
  25. cHeight: '',
  26. pixelRatio: 1,
  27. }
  28. },
  29. onLoad() {
  30. _self = this;
  31. this.cWidth = uni.upx2px(500);
  32. this.cHeight = uni.upx2px(500);
  33. this.setData();
  34. },
  35. methods: {
  36. getServerData() {
  37. uni.request({
  38. url: 'https://www.easy-mock.com/mock/5cc586b64fc5576cba3d647b/uni-wx-charts/chartsdata2',
  39. data: {},
  40. success: function(res) {
  41. console.log(res.data.data)
  42. let Radar = {
  43. categories: [],
  44. series: []
  45. };
  46. Radar.categories = res.data.data.Radar.categories;
  47. Radar.series = res.data.data.Radar.series;
  48. _self.showRadar("canvasRadar", Radar);
  49. },
  50. fail: () => {
  51. _self.tips = "网络错误,小程序端请检查合法域名";
  52. },
  53. });
  54. },
  55. setData() {
  56. let Radar = {
  57. categories: ['维度1', '维度2', '维度3', '维度4', '维度5'],
  58. series: [{
  59. name: '成交量1',
  60. data: [90, 110, 165, 195, 187]
  61. }, {
  62. name: '成交量2',
  63. data: [190, 210, 105, 35, 27]
  64. }, {
  65. name: '成交量3',
  66. data: [290, 310, 205, 135, 127]
  67. }]
  68. };
  69. _self.showRadar("canvasRadar", Radar);
  70. },
  71. showRadar(canvasId, chartData) {
  72. canvaRadar = new uCharts({
  73. $this: _self,
  74. canvasId: canvasId,
  75. type: 'radar',
  76. fontSize: 11,
  77. legend: true,
  78. background: '#FFFFFF',
  79. pixelRatio: _self.pixelRatio,
  80. animation: true,
  81. dataLabel: true,
  82. categories: chartData.categories,
  83. series: chartData.series,
  84. width: _self.cWidth * _self.pixelRatio,
  85. height: _self.cHeight * _self.pixelRatio,
  86. extra: {
  87. radar: {
  88. max: 200 //雷达数值的最大值
  89. }
  90. }
  91. });
  92. }
  93. }
  94. }
  95. </script>
  96. <style lang="scss">
  97. .qiun-columns{
  98. width: 100%;
  99. }
  100. /*样式的width和height一定要与定义的cWidth和cHeight相对应*/
  101. .qiun-charts {
  102. width: 500upx;
  103. // width: 100%;
  104. height: 500upx;
  105. background-color: #FFFFFF;
  106. }
  107. .charts {
  108. width: 750upx;
  109. height: 500upx;
  110. background-color: #FFFFFF;
  111. }
  112. .showborder {
  113. border: solid 1px #007AFF;
  114. }
  115. </style>