Echarts之柱形图--每个柱形图颜色不同且带图例

需求:
在这里插入图片描述
鼠标移入:
在这里插入图片描述
1、容器:

<div id="bar" style="width: 700px; height: 380px; background: rgba(2, 15, 43, 0.7)"></div>

2、在methods中

methods:{
	initChart() { 
      // 源数据
      let datas = [
        { value: 1048, name: "搜索引擎" },
        { value: 735, name: "直接访问" },
        { value: 580, name: "邮件营销" },
        { value: 484, name: "联盟广告" },
        { value: 300, name: "视频广告" },
      ];
      // 目标数据
      /* 
        var data = {
          name: "视频广告",
          type: "bar",
          barWidth: 25,//柱图宽度
          stack: "广告",
          data: [0, 0, 0, 154],
        }; 
      */
      //
      let seriesArr= [];//series
      let XLabel = [];//x轴数据
      datas.map((item, index) => {
        XLabel.push(item.name);
        let obj = {};
        obj.name = item.name;
        obj.type = "bar";
        obj.barWidth = 25;
        obj.stack = "广告";
        obj.data = [];
        for (var i = 0; i <= index; i++) {
          if (i != index) {
            obj.data.push(0);
          } else {
            obj.data.push(item.value);
          }
        }
        seriesArr.push(obj);
      });
      var option = {
        color: ["#5599EC", "#00EA9C", "#F9CE16", "#FF913F", "#00FFF8"],
        legend: {
          top: "3%",
          right: "5%",
          icon: "rect",
          itemWidth: 13,
          itemHeight: 13, //图例宽高
          textStyle: {
            color: "#A0B2D3",
            fontSize: 20,
          },
        },
        grid: {
          left: "5%",
          right: "5%",
          bottom: "5%",
          containLabel: true,
        },
        tooltip: {
          //trigger: 'axis',    //显示其他分类
          axisPointer: {
            // 坐标轴指示器,坐标轴触发有效
            type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
          },
          formatter: function (params) {
            return (
              '<span style="font-size:20px">' +
              params.name +
              "<br/>" +
              params.marker +
              '<span style="color:' +
              params.color +
              ';font-size:20px;">' +
              params.value +
              "个" +
              "</span>" +
              "</span>"
            );
          },
        },
        xAxis: [
          {
            type: "category",
            data:XLabel,
            axisTick: {
              // 轴刻度
              show: false,
            },
            axisLabel: {
              // 轴文字
              color: "#A0B2D3",
              fontSize: 20,
            },
            axisLine: {
              // 轴线
              show: false,
            },
          },
        ],
        yAxis: [
          {
            type: "value",
            name: "个",
            nameTextStyle: {
              color: "#A0B2D3",
              fontSize: 20,
              padding: [0, 0, 0, -30], //name文字位置 对应 上右下左
            },
            axisTick: {
              // 轴刻度
              show: false,
            },
            splitLine: {
              // 网格线
              show: false,
            },
            axisLine: {
              // 轴线
              show: false,
            },
            axisLabel: {
              // 轴文字
              color: "#A0B2D3",
              fontSize: 20,
            },
          },
        ],
        //series:[
          // {
          //   name: "直接访问",
          //   type: "bar",
          //   barWidth: 25,
          //   stack: "广告",
          //   data: [320],
          // },
          // {
          //   name: "邮件营销",
          //   type: "bar",
          //   barWidth: 25,
          //   stack: "广告",
          //   data: [0, 132],
          // },
          // {
          //   name: "联盟广告",
          //   type: "bar",
          //   stack: "广告",
          //   barWidth: 25,
          //   data: [0, 0, 191],
          // },
          // {
          //   name: "视频广告",
          //   type: "bar",
          //   barWidth: 25,
          //   stack: "广告",
          //   data: [0, 0, 0, 154],
          // },
        series: seriesArr,
      };

      let myChart = this.$echarts.init(document.getElementById("bar"));
      myChart.setOption(option);
      window.addEventListener("resize", function () {
        myChart.resize();
      });
    },
}

3、

 mounted() {
    this.initChart();
  },

以上

### Apache SeaTunnel 2.3.8 安装指南 #### 下载地址 用户可以从官方提供的链接下载 Apache SeaTunnel 2.3.8 版本的二进制文件[^1]。具体下载页面位于以下地址: - **下载页**: https://seatunnel.apache.org/download/ #### 配置环境 在安装之前,需确保本地已正确配置 Java 环境以及必要的依赖项。Java 版本建议为 JDK 8 或更高版本。 #### 启动集群服务 完成解压后,可以通过 `seatunnel-cluster.sh` 脚本来启动 SeaTunnel 集群服务。以下是具体的命令示例[^3]: ```bash ./bin/seatunnel-cluster.sh start ``` 如果需要后台运行该进程,则可使用重定向操作符将其放入后台执行: ```bash nohup ./bin/seatunnel-cluster.sh start > sea_tunnel.log 2>&1 & ``` #### 停止集群服务 当不再需要运行 SeaTunnel 集群时,可通过如下脚本停止服务: ```bash ./bin/stop-seatunnel-cluster.sh ``` #### 使用 Docker 运行 (新增特性) 自 2.3.8 版本起,SeaTunnel 提供了官方支持的 Docker 镜像。这使得通过容器化部署变得更为便捷。以下是基于 Docker 的快速启动方式: 1. 拉取最新镜像: ```bash docker pull apache/seatunnel:2.3.8 ``` 2. 启动容器实例: ```bash docker run -d --name seatunnel-container -p 8081:8081 apache/seatunnel:2.3.8 ``` 上述命令会以后台模式启动 SeaTunnel 并映射默认 Web UI 到主机端口 8081 上。 --- ### 示例代码片段:MySQL 数据迁移至 MySQL 下面是一个简单的作业配置案例,展示如何利用 SeaTunnel 将数据从一个 MySQL 表迁移到另一个表中: ```yaml env { execution.parallelism = 1 } source { mysql { url = "jdbc:mysql://localhost:3306/source_db" username = "root" password = "password" table-name = ["table_source"] } } transform {} sink { mysql { url = "jdbc:mysql://localhost:3306/target_db" username = "root" password = "password" table-name = ["table_target"] } } ``` 此 YAML 文件定义了一个完整的 ETL 流程,其中包含源数据库连接参数、目标数据库连接参数及对应的数据表名称。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值