使用ucharts写的小程序,然后让圆环的图例位置进行改变

需要调整position的属性

 legend: {
    show: true,
    position: 'bottom',
    lineHeight: 25,
  },

<template>
  <view class="charts-box">
    <qiun-data-charts
      type="ring"
      :opts="opts"
      :chartData="chartData"
    />
  </view>
</template>

<script setup lang="ts">
import { ref, onMounted } from 'vue';

const chartData = ref({});
const opts = ref({
  rotate: false,
  rotateLock: false,
  color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'],
  padding: [5, 5, 5, 5],
  dataLabel: true,
  enableScroll: false,
  legend: {
    show: true,
    position: 'bottom',
    lineHeight: 25,
  },
  title: {
    name: '收益率',
    fontSize: 15,
    color: '#666666',
  },
  subtitle: {
    name: '70%',
    fontSize: 25,
    color: '#7cb5ec',
  },
  extra: {
    ring: {
      ringWidth: 60,
      activeOpacity: 0.5,
      activeRadius: 10,
      offsetAngle: 0,
      labelWidth: 15,
      border: true,
      borderWidth: 3,
      borderColor: '#FFFFFF',
    },
  },
});

const getServerData = () => {
  // 模拟从服务器获取数据时的延时
  setTimeout(() => {
    // 模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
    const res = {
      series: [
        {
          data: [
            { name: '一班', value: 50 },
            { name: '二班', value: 30 },
            { name: '三班', value: 20 },
            { name: '四班', value: 18, labelText: '四班:18人' },
            { name: '五班', value: 8 },
          ],
        },
      ],
    };
    chartData.value = JSON.parse(JSON.stringify(res));
  }, 500);
};

onMounted(() => {
  getServerData();
});
</script>

<style scoped>
/* 请根据实际需求修改父元素尺寸,组件自动识别宽高 */
.charts-box {
  width: 100%;
  height: 300px;
}
</style>

更改前

更改后

在UniApp中,结合UCharts库来创建三个不同的圆环图并共享一个图例,可以按照以下步骤操作: 首先,你需要在项目中引入UCharts库,并在需要展示图表的地方设置组件。这里假设你已经在页面中导入了`uview-charts`插件。 ```html <template> <u-charts :options="chartOptions" ref="myChart"></u-charts> </template> <script setup> import { onMounted } from 'vue'; import * as uCharts from '@vant/u-charts'; let chartOptions = { type: 'ring', // 圆环图类型 data: [ // 三个数据集,每个都有各自的数据和标签 { name: '数据1', value: [40, 60] }, { name: '数据2', value: [35, 70] }, { name: '数据3', value: [25, 80] } ], legend: { show: true, position: 'bottom' }, // 共享图例位置 series: [ // 对每个数据集配置标题和图例标签 { name: '标题1', title: { text: 'Title for Data 1' // 设置第一个圆环图的标题 }, data: 'value' }, { name: '标题2', title: { text: 'Title for Data 2' // 设置第二个圆环图的标题 }, data: 'value' }, { name: '标题3', title: { text: 'Title for Data 3' // 设置第三个圆环图的标题 }, data: 'value' } ] }; onMounted(() => { // 初始化图表 if (process.env.NODE_ENV === 'development') { this.$refs.myChart.init(); } }); </script> ``` 在这个例子中,我们为每个圆环图设置了单独的标题,并将它们都配置在`series`数组的`name`、`title.text`属性上。同时,图例共享一个配置项`legend.show = true`以及一个位置,例如`position: 'bottom'`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值