vue echarts日历散点图

该文展示了如何在项目中按需引入ECharts库的特定组件,如CalendarComponent、TooltipComponent和EffectScatterChart。通过示例代码,配置了日历图表的样式,创建了一个基于日历的动态散点图,并提供了数据和链接,以实现特定的数据可视化效果。

效果图:

引入echarts

npm install echarts --save

这里是按需进行引入echarts的组件

import * as echarts from 'echarts/core';
import { CalendarComponent, TooltipComponent } from 'echarts/components';
import { EffectScatterChart } from 'echarts/charts';
import { UniversalTransition } from 'echarts/features';
import { CanvasRenderer } from 'echarts/renderers';

echarts.use([
  CalendarComponent,
  TooltipComponent,
  EffectScatterChart,
  CanvasRenderer,
  UniversalTransition
]);

代码

var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;

const graphData = [
  ['2017-02-01', 260],
  ['2017-02-04', 200],
  ['2017-02-09', 279],
  ['2017-02-13', 847],
  ['2017-02-18', 241],
  ['2017-02-23', 411],
  ['2017-02-27', 985]
];
const links = graphData.map(function (item, idx) {
  return {
    source: idx,
    target: idx + 1
  };
});
links.pop();
option = {
  tooltip: {
    position: 'top'
  },
  visualMap: [],
  calendar: [
    {
      splitLine: {
        show: true,
        lineStyle: {
          color: '#fff' //边框颜色
        }
      },
      itemStyle: {
        color: '#100C29', //背景色
        borderType: 'solid'
      },
      orient: 'vertical',
      yearLabel: {
        margin: 10
      },
      //标题'年'
      monthLabel: {
        nameMap: 'cn',
        margin: 10
      },
      dayLabel: {
        firstDay: 1,
        nameMap: ['日', '一', '二', '三', '四', '五', '六'],
        margin: 10
        // nameMap: 'cn'
        // color: '#fff' //字体颜色
      },
      left: 'center',
      top: 'middle',
      cellSize: [70, 70],//改变图的大小
      range: '2017-02'
    }
  ],
  series: [
    {
      type: 'effectScatter',
      color: '#C0464D', //改变散点颜色
      coordinateSystem: 'calendar',
      links: links,
      calendarIndex: 0,
      symbolSize: function (val) {
        return val[1] / 40;
      },
      data: graphData
    }
  ]
};

option && myChart.setOption(option);
### 使用 Vue3 和 ECharts 绘制散点图Vue3 中集成 ECharts 并绘制散点图是一个常见的需求。以下是实现这一功能的具体方法。 #### 安装依赖 首先,确保安装了 `echarts` 库以及适用于 Vue 的封装库 `vue-echarts` 或者直接通过脚本引入 echarts: ```bash npm install echarts vue-echarts ``` 如果不想使用额外的封装组件,则可以直接导入原生 `echarts` 进行初始化操作。 --- #### 创建 Vue3 组件并配置 ECharts 散点图 下面展示了一个完整的 Vue3 单文件组件 (`.vue`) 示例代码用于创建散点图: ```html <template> <div ref="chartRef" style="width: 100%; height: 400px;"></div> </template> <script setup> import { onMounted, ref } from 'vue'; import * as echarts from 'echarts'; // 获取 DOM 节点引用 const chartRef = ref(null); let myChart; onMounted(() => { // 初始化图表实例 myChart = echarts.init(chartRef.value); const option = { title: { text: 'Vue3 + ECharts 散点图', subtext: '示例数据' }, tooltip: {}, xAxis: { type: 'value', name: 'X轴' }, yAxis: { type: 'value', name: 'Y轴' }, series: [ { symbolSize: 20, data: [[120, 90], [80, 70], [150, 120], [100, 60]], type: 'scatter' // 设置为散点图类型 } ] }; // 渲染图表 myChart.setOption(option); }); </script> <style scoped> /* 可选样式 */ .chart-container { width: 100%; height: 100%; } </style> ``` 上述代码实现了以下功能: 1. **DOM 元素绑定**:利用 Vue3 的模板语法获取到目标容器节点。 2. **ECharts 实例化**:调用 `echarts.init()` 方法传入该节点作为参数[^1]。 3. **定义 Option 配置项**:设置了标题、坐标轴名称和散点图的数据源。 4. **渲染图表**:通过 `setOption` 将配置应用至图表对象上。 --- #### 常见问题排查 有时即使按照文档编写代码仍可能遇到无法正常显示的情况。这通常是因为 `option` 参数未正确设置所致[^2]。例如,缺少必要的字段或者数据格式不符合预期都会影响最终效果。因此建议仔细核对每一部分配置是否匹配实际需求。 --- #### 注意事项 为了使响应式布局生效,在窗口大小改变时需重新调整图表尺寸。可以通过监听事件来完成此操作: ```javascript window.addEventListener('resize', () => myChart.resize()); ``` 此外还可以考虑将以上逻辑提取成独立函数以便于管理维护。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值