当前位置: 首页 > article >正文

创建Vue2项目,引入chart.js,并生成柱形图

1. 创建一个新的 Vue 2 项目

如果你还没有创建项目,可以使用 Vue CLI 来创建一个新项目。首先确保你已经安装了 Node.js 和 npm。然后安装 Vue CLI 并创建一个新项目。

npm install -g @vue/cli
vue create my-vue-chart-project

在创建过程中选择 Vue 2 版本。

2. 安装 Chart.js 库

进入项目目录,通过 npm 或 yarn 安装 Chart.js 库。

cd my-vue-chart-project
npm install chart.js@2.9.4 --save # 安装适用于 Vue 2 的 Chart.js 版本

3. 创建 Chart 组件

src/components 目录下创建一个新的 Vue 组件 BarChart.vue

<template>
  <div>
    <canvas id="bar-chart"></canvas>
  </div>
</template>

<script>
import Chart from 'chart.js';

export default {
  name: 'BarChart',
  props: {
    data: {
      type: Array,
      required: true
    },
    labels: {
      type: Array,
      required: true
    }
  },
  mounted() {
    this.createBarChart();
  },
  methods: {
    createBarChart() {
      const ctx = document.getElementById('bar-chart').getContext('2d');
      new Chart(ctx, {
        type: 'bar',
        data: {
          labels: this.labels,
          datasets: [{
            label: 'My First dataset',
            backgroundColor: 'rgba(255, 99, 132, 0.2)',
            borderColor: 'rgba(255, 99, 132, 1)',
            borderWidth: 1,
            data: this.data
          }]
        },
        options: {
          scales: {
            yAxes: [{
              ticks: {
                beginAtZero: true
              }
            }]
          }
        }
      });
    }
  }
};
</script>

这个组件接收两个 prop:datalabels,分别表示柱形图的数据和标签。

4. 在父组件中使用 BarChart 组件

首先,你需要在父组件(例如 App.vue)中导入 BarChart 组件,并注册它。

<template>
  <div id="app">
    <bar-chart :data="chartData" :labels="chartLabels"></bar-chart>
  </div>
</template>

<script>
import BarChart from './components/BarChart.vue';

export default {
  name: 'App',
  components: {
    BarChart
  },
  data() {
    return {
      chartLabels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
      chartData: [0, 10, 5, 2, 20, 30, 45]
    };
  }
};
</script>

在这里,我们定义了 chartDatachartLabels,然后将它们传递给 BarChart 组件。

5. 运行项目

现在,你可以启动项目来查看柱形图。

npm run serve

访问浏览器中的项目地址(通常是 http://localhost:8080),你应该能够看到你的柱形图。

image-20231206102905190

最后根据你的需求,将后端数据放到chartLabels与chartData中即可


http://www.kler.cn/news/160611.html

相关文章:

  • gradle 启动报错,CreateProcess error=206, 文件名或扩展名太长
  • html css样式选择器介绍
  • uniapp使用v-html调用接口,富文本图片 视频自适应大小
  • 微信小程序:chooseimage从本地相册选择图片或使用相机拍照
  • DAPP开发【06】nodejs安装与npm路径更换
  • NDK交叉编译工具链使用教程
  • 日常开发日志
  • Shopify二次开发之五:元字段(Metafields)
  • 2023年山东省职业院校技能大赛信息安全管理与评估二三阶段样题
  • nodejs微信小程序+python+PHP新闻发布系统的设计与实现-计算机毕业设计推荐
  • prometheus|云原生|轻型日志收集系统loki+promtail的部署说明
  • 什么是高防IP,高防IP该如何选择。
  • Stable Diffusion AI绘画系列【18】:东方巨龙,威武霸气
  • 直播录屏软件哪个好?这3款软件请你收好
  • 简单使用selenium抓取微博热搜话题存储进Excel表格中
  • TTS声音合成:paddlespeech、sherpa-onnx、coqui-ai
  • 机器学习笔记 - 如何在Python中对网格和点云进行体素化?
  • 【CSP】202209-1_如此编码Python实现
  • 2022年第十一届数学建模国际赛小美赛B题序列的遗传过程解题全过程文档及程序
  • 有关thingsboard中 api的 jwt研究
  • 利用JavaFX生成验证码图片
  • mysql服务日志打印,时区不对的问题
  • 【C语言】7-38 吉老师的回归 分数 15
  • 《异常检测——从经典算法到深度学习》24 用于单变量时间序列异常检测的端到端基准套件
  • Chapter 7. Congestion Management in Ethernet Storage Networks以太网存储网络的拥塞管理 - 1
  • Cocos Creator加入图片没有被识别
  • 【算法】约瑟夫环
  • Audacity降噪消除视频中杂音
  • 面试操作系统八股文五问五答第一期
  • OSI七层模型与TCP/IP四层模型