如何解决在新窗口/选项卡中绘制chartjs
我有一个生成的chartjs,单击一个按钮,它将其显示在我的数据表下。我想在一个新的窗口/选项卡中绘制它。我怎样才能做到这一点? 这是我图表的代码:
var ctx = document.getElementById('myChart');
Chart.defaults.scale.gridLines.drawOnChartArea = false;
var myChart = new Chart(ctx,{
type: 'doughnut',data: {
labels: [labels],datasets: [{
label: 'label',data: [data],backgroundColor: [
'rgba(255,99,132,0.2)','rgba(54,162,235,'rgba(255,206,86,'rgba(75,192,'rgba(153,102,255,159,64,111,'rgba(158,153,149,'rgba(111,51,4,0.2)'
],borderColor: [
'rgba(255,1)',1)'
],borderWidth: 1
}]
},options: {
responsive: true,maintainAspectRatio: false,title: {
display: true,text: 'Title',fontSize: 18,padding: 20
},scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
},plugins: {
datalabels: {
display: true,align: 'center',anchor: 'center',formatter: function(value,index,values) {
if(value >0 ){
value = value.toString();
value = value.split(/(?=(?:...)*$)/);
value = value.join(',');
return value;
}else{
value = "";
return value;
}
}
}
}
}
});
这是画布和按钮:
<button onClick="printChart"></button>
<canvas id="myChart" width="50" height="50"></canvas>
我尝试了window.open(),并在按钮中添加了href,但是我没有设法在新窗口中绘制它。 我该怎么办?
如何在新窗口/标签中打印? 谢谢
编辑:我设法使用以下代码将所有内容发送到新窗口:
var canvas = $("#myChart").get(0).getContext('2d');
var myWindow = window.open();
myWindow.document.write(canvas);
,但是图表没有响应并且被破坏了,所有内容都是重叠的,并且没有任何chartjs设置被继承。这是我要传递到新窗口的内容:
[object CanvasRenderingContext2D]
我在哪里错了?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。