vue中echart图表y轴左边数值,右边百分比

该代码示例展示了如何使用Echarts库创建一个组合图表,包括柱状图和折线图,用于展示不同领域的正确数、错误数及正确率。数据源包括网络安全、消防安全、交通安全等,通过设置x轴为类别类型,y轴分别为题目数量和正确率,并实现了图表的响应式布局。
摘要由CSDN通过智能技术生成

在这里插入图片描述
实现代码如下(有注解解释):

 //bar
 export default {
    getBarData() {
      let getBar = echarts.init(document.getElementById("bar"));
      var option = {
        legend: {},
        tooltip: {},
        dataset: {
          source: [
            ["product", "正确数", "错误数"],
            ["网络安全", 43.3, 85.8, 93.7],
            ["消防安全", 83.1, 73.4, 55.1],
            ["交通安全", 86.4, 65.2, 82.5],
            ["心理健康", 72.4, 53.9, 39.1],
            ["食品安全", 43.3, 85.8, 93.7],
            ["校规校纪", 43.3, 85.8, 93.7],
            ["人身安全", 43.3, 85.8, 93.7],
          ],
        },
        xAxis: { type: "category" },
        yAxis: [
          {
            type: "value",
            name: "题目数量", //y坐标轴的名字
            splitLine: {
              //显示分割线
              show: false,
            },
          },
          {
            type: "value",
            name: "正确率",
            position: "right",
            min: 0,
            max: 25, //控制百分比的最大最小数值
            axisLabel: {
              formatter: "{value}%", //使图变成百分比形式
            },
            splitLine: {
              //网格线显不显示
              show: false,
            },
          },
        ],
        // Declare several bar series, each will be mapped
        // to a column of dataset.source by default.
        series: [
          {
            type: "bar", //柱形图(可添加多个)
            name: "正确数",
            data: [200, 230, 250, 300, 350, 250, 300],
          },
          {
            type: "bar",
            name: "错误数",
            data: [345, 340, 300, 400, 400, 250, 300], //data写5个就是从0,到bar最高值分配5份,0 100 200 300 400,中间数据是柱高度
          },
          {
            name: "正确率", //颜色标注的名字
            type: "line", //还可以在一个图上加入折线图
            yAxisIndex: 1, //索引从0开始
            data: [10, 4, 15, 11, 13, 12, 25],
          },
        ],
      };
      getBar.setOption(option);
      window.addEventListener("resize", function () {
        getBar.resize();
      });
    },
   }
要实现 Vue Echarts 柱状图的 Y 轴从小到大排序,需要对数据进行排序处理,并将排序后的结果传递给 Echarts 组件进行渲染。以下是一个基本的示例代码: 在 Vue 组件的模板部分: ```html <template> <div> <div ref="chart" style="width: 600px; height: 400px;"></div> </div> </template> ``` 在 Vue 组件的脚本部分: ```javascript import echarts from 'echarts'; export default { mounted() { // 假设原始数据为 data,其 data 为对象数组,每个对象包含 name 和 value 属性 const data = [ { name: 'A', value: 10 }, { name: 'B', value: 30 }, { name: 'C', value: 20 }, ]; // 对数据进行排序,按 value 属性从小到大排序 const sortedData = data.sort((a, b) => a.value - b.value); // 创建 Echarts 实例 const chart = echarts.init(this.$refs.chart); // 设置图表配置项 const options = { xAxis: { type: 'category', data: sortedData.map(item => item.name), }, yAxis: { type: 'value', }, series: [{ type: 'bar', data: sortedData.map(item => item.value), }], }; // 渲染图表 chart.setOption(options); }, }; ``` 在上述示例,我们首先对原始数据进行排序,使用 `sort` 方法并传入一个排序函数,该函数按照对象的 `value` 属性进行排序。然后,创建 Echarts 实例并设置图表的配置项,其 Y 轴的 `type` 属性设置为 `'value'`,表示数值类型的 Y 轴。最后,通过 `setOption` 方法将配置项应用于图表并进行渲染。 请注意,上述示例仅供参考,具体的实现方式可能会根据你的具体需求和数据结构有所不同。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值