gpt4 book ai didi

vue.js - 是否可以使用 vue-chartjs 打印图表?

转载 作者:行者123 更新时间:2023-12-03 06:46:37 24 4
gpt4 key购买 nike

我正在使用 vue-chartjs 在 webapp 上渲染图形。我知道如果您使用原版 library 可以打印图表.但是我不知道如何使用库的 vue 版本来做到这一点。

我在外部 charts.js 文件中有我的图表变量

import {Bar, mixins } from 'vue-chartjs'
Chart.defaults.global
let chartOptions = Chart.defaults.global;
const { reactiveProp } = mixins
export default {
extends: Bar,
mixins: [reactiveProp],
props: ['options'],

mounted () {
let that = this;
that.chartOptions = {
scales: {
yAxes: [{
ticks: {
suggestedMin: 0,
fontFamily: "'Overpass_Mono', 'Monaco', monospace",
fontColor: "rgba(254, 255, 248, 0.5)"
},
gridLines: {
color: 'rgba(255, 80, 248, 0.08)',
zeroLineColor: 'rgb(168, 119, 181)',
zeroLineWidth: 2
},
}],
xAxes: [{
ticks: {
suggestedMin: 0,
fontColor: "rgb(168, 119, 181)"

},
gridLines: {
color: 'rgba(255, 80, 248, 0.08)',
zeroLineColor: 'transparent',
}
}],
},
legend: {
labels: {
fontColor: 'rgb(168, 119, 181)',
}
}
},
this.renderChart(this.chartData, that.chartOptions)
}
}

然后在我的组件模板上,我有:
<template>
<div class="report">
<charts v-if="todaySelected"
:chart-id="'total_visits_chart_bar'"
:height="chartsHeight"
:options="chartOptions"
:chart-data="datacollection"
></charts>
<div v-if="todaySelected">
<button @click="printChart(charts)">Print chart</button>
</div>
</template>
<script>
import charts from './chart_0.js'
components: {
charts,
},
data() {
return{
datacollection: {"datasets":[{"label":"Entries Today","data":[15,15,15,0]},{"label":"Currently Inside","data":[2,2,2,0]}],"labels":[]}
}
}.
methods: {
printChart(charts) {
charts.print();
},
}
</script>

任何帮助,将不胜感激。

最佳答案

该库似乎基于 chartjs 而不是 canvasjs https://www.chartjs.org/docs/latest/您可能想了解如何打印窗口 Quick Print HTML5 Canvas ,并记住您可以访问绘制图形的 Canvas 元素:

 methods: {
printChart() {
const canvasEle = this.$el.querySelector('canvas');
//now your chart image is on canvasEle
},
}

关于vue.js - 是否可以使用 vue-chartjs 打印图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53270288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com