登录  /  注册
博主信息
博文 70
粉丝 0
评论 2
访问量 90349
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
vue3 echart代码示例
搁浅
原创
642人浏览过
官方安装npm install echarts —save
https://echarts.apache.org/
  1. <template>
  2. <div>
  3. <div class="chart" id="main" ></div>
  4. </div>
  5. </template>
  6. <script setup>
  7. import * as echarts from "echarts";
  8. import { onMounted } from 'vue';
  9. onMounted(()=>{
  10. initEcharts()
  11. })
  12. function initEcharts() {
  13. // 基本柱状图
  14. const option = {
  15. xAxis: {
  16. data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
  17. },
  18. yAxis: {},
  19. series: [
  20. {
  21. type: "bar", //形状为柱状图
  22. data: [23, 24, 18, 25, 27, 28, 25]
  23. }
  24. ]
  25. };
  26. const myChart = echarts.init(document.getElementById("main"));
  27. myChart.setOption(option);
  28. //随着屏幕大小调节图表
  29. window.addEventListener("resize", () => {
  30. myChart.resize();
  31. });
  32. }
  33. </script>
  34. <style scoped>
  35. .chart {
  36. height: 100vh;
  37. }
  38. </style>
npm install echarts vue-echarts//安装插件
https://github.com/ecomfe/vue-echarts/blob/HEAD/README.zh-Hans.md
vue-echarts属于二次封装
  1. <template>
  2. <v-chart class="chart" :option="option" autoresize />
  3. </template>
  4. <script setup>
  5. import { use } from 'echarts/core';// 挂载组件方法
  6. import { CanvasRenderer } from 'echarts/renderers';
  7. import { PieChart } from 'echarts/charts';// 引入图类型
  8. import {
  9. TitleComponent,
  10. TooltipComponent,
  11. LegendComponent,
  12. } from 'echarts/components';// 相关组件
  13. // InjectionKey 引入
  14. // THEME_KEY 主题关键字
  15. // UPDATE_OPTIONS_KEY 刷新画布关键字
  16. import VChart, { THEME_KEY,UPDATE_OPTIONS_KEY } from 'vue-echarts';
  17. import { ref, provide } from 'vue';
  18. // 挂载
  19. use([
  20. CanvasRenderer,
  21. PieChart,
  22. TitleComponent,
  23. TooltipComponent,
  24. LegendComponent,
  25. ]);
  26. provide(THEME_KEY, 'dark');// 主题颜色
  27. const option = ref({
  28. title: {
  29. text: 'Traffic Sources',
  30. left: 'center',
  31. },
  32. tooltip: {
  33. trigger: 'item',
  34. formatter: '{a} <br/>{b} : {c} ({d}%)',
  35. },
  36. legend: {
  37. orient: 'vertical',
  38. left: 'left',
  39. data: ['Direct', 'Email', 'Ad Networks', 'Video Ads', 'Search Engines'],
  40. },
  41. series: [
  42. {
  43. name: 'Traffic Sources',
  44. type: 'pie',
  45. radius: '55%',
  46. center: ['50%', '60%'],
  47. data: [
  48. { value: 335, name: 'Direct' },
  49. { value: 310, name: 'Email' },
  50. { value: 234, name: 'Ad Networks' },
  51. { value: 135, name: 'Video Ads' },
  52. { value: 1548, name: 'Search Engines' },
  53. ],
  54. emphasis: {
  55. itemStyle: {
  56. shadowBlur: 10,
  57. shadowOffsetX: 0,
  58. shadowColor: 'rgba(0, 0, 0, 0.5)',
  59. },
  60. },
  61. },
  62. ],
  63. });
  64. </script>
  65. <style scoped>
  66. .chart {
  67. height: 100vh;
  68. }
  69. </style>
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学