本文将介绍javascript-无法使用jspdf和chartjs向画布添加背景色的详细情况,特别是关于javascript不可用怎么办的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面
本文将介绍javascript-无法使用jspdf和chartjs向画布添加背景色的详细情况,特别是关于javascript不可用怎么办的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于ichartjs:javascript不能进化么?、javascript – $.getJSON无法使用本地JSON文件、javascript – angular2和charts.js互动、javascript – Chart.js – 同一画布上的多个甜甜圈图表的知识。
本文目录一览:- javascript-无法使用jspdf和chartjs向画布添加背景色(javascript不可用怎么办)
- ichartjs:javascript不能进化么?
- javascript – $.getJSON无法使用本地JSON文件
- javascript – angular2和charts.js互动
- javascript – Chart.js – 同一画布上的多个甜甜圈图表
javascript-无法使用jspdf和chartjs向画布添加背景色(javascript不可用怎么办)
我正在使用jspdf插件将条形图导出为pdf.图表上的条形为白色,因此当我导出为pdf(作为png图像)时,这些条在pdf的透明背景上不可见.我在容器上添加了灰色背景色,以使白色条清晰可见.当我将图形导出为pdf时,它仍显示透明背景而不是灰色.有人可以告诉我我在想什么吗?
javascript:
$(document).ready(function(){
$('#hyppdf').click(function(){
var canvasImg = document.getElementById("myChart").toDataURL("image/png",
1.0);
var doc = new jsPDF();
doc.setFontSize(33);
doc.setFillColor(135, 124,45,0);
doc.addImage(canvasImg, 'png', 10, 10, 150, 100);
doc.save('sample.pdf');
})
var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["M", "T", "W", "T", "F", "S", "S"],
datasets: [{
label: 'apples',
data: [12, 19, 3, 17, 28, 24, 7],
backgroundColor: "rgba(255,255,255,1)"
}, {
label: 'oranges',
data: [30, 29, 5, 5, 20, 3, 10],
backgroundColor: "rgba(255,153,0,1)"
}]
}
});
})
的HTML:
<div>
<h2> <a id="hyppdf" href="#">download</a></h2>
<div>
<canvas id="myChart"></canvas>
</div>
</div>
https://jsfiddle.net/2gnajnz4/5/
谢谢
解决方法:
我认为您可以通过在图像上添加rect并将其导出为pdf来解决您的问题:
doc.setFillColor(204, 204,204,0);
doc.rect(10, 10, 150, 160, "F");
查看更新的fiddle:
ichartjs:javascript不能进化么?
javascript不能进化么?语法更简单等等,或者浏览器可以使用python解释器javascript – $.getJSON无法使用本地JSON文件
我拼命想要获得一个站点的本地构建来获取JSON文件(也是本地的)没有运气.确切的代码在我的服务器上工作得很好,但一旦在本地,就会中断.
我使用jQuery获取JSON,如下所示:
$.getJSON(
"lib/js/app.json",
function(data){
$.each(data, function(i,user){
+'<img src="'+user.thumbnail+'"/>
});
}
);
并收到此控制台错误:
XMLHttpRequest cannot load file://localhost/Users/blakestruhs/new/lib/js/app.json. Origin null is not allowed by Access-Control-Allow-Origin.
我在这里想要一个答案.请帮我.
解决方法:
我认为你使用像chrome这样的Webkit浏览器,对吗? Chome看不到两个本地文件之间的关系.使用Firefox或在网络服务器上运行;)
“Origin null is not allowed by Access-Control-Allow-Origin” in Chrome. Why?
javascript – angular2和charts.js互动
我目前正在使用来自charts.js的一些图表,我正在添加一些与它们的简单交互,当用户点击条形图中的条形图时,变量会保存单击哪个条形图.
此变量更新折线图,此图表使用先前保存在数组中的数据进行更新,因此每次用户单击条形图中的不同栏时,折线图都应更改.
我的问题是变量没有改变我得到两个不同的值.
默认情况下,变量初始化为0.
控制台日志输出:
from barchart click:3
from change function:0
from barchart click:2
from change function:0
我从同时发生的2个不同功能打印这些线.
这是在条形图上单击条形图时应更改变量值的函数.
graphClickEvent(event:any,array:any){
if(array[0]){
this.offsetGraficas = array[0]._index;
console.log("from barchart click:"+this.offsetGraficas);
}
}
和另一个同时发生的功能:
changeHistorico(n:number) {
console.log("from change function:"+this.offsetGraficas);
this.show_historico = true;
//some unrelated code goes here
}
从我看到的,首先执行graphClickEvent,但我没有对变量进行任何更改.
为什么它没有按预期工作?
javascript – Chart.js – 同一画布上的多个甜甜圈图表
我试图通过在同一画布上多次初始化Chart.js来模拟多层圆环图.当时只有一个图表可见.当你将鼠标悬停在其位置上时,另一个将会显示…
有人知道如何让两者同时可见吗?
这是我的代码:
<!doctype html>
<html>
<head>
<title>Doughnut Chart</title>
<script src="../Chart.js"></script>
<style>
body{
padding: 0;
margin: 0;
}
#canvas-holder-1{
position: fixed;
top: 50%;
left: 50%;
margin-top: -250px;
margin-left: -250px;
}
</style>
</head>
<body>
<div id="canvas-holder-1">
<canvas id="chart-area" width="500" height="500"/>
</div>
<script>
var doughnutData = [
{
value: 20,
color:"#F7464A",
highlight: "#FF5A5E",
label: "Red",
},
{
value: 50,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Green"
},
{
value: 30,
color: "#fdb45C",
highlight: "#FFC870",
label: "Yellow"
},
{
value: 40,
color: "#949FB1",
highlight: "#A8B3C5",
label: "Grey"
},
{
value: 120,
color: "#4D5360",
highlight: "#616774",
label: "Dark Grey"
}
];
var doughnutData2 = [
{
value: 10,
color:"#F7464A",
highlight: "#FF5A5E",
label: "Red",
},
{
value: 100,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Green"
},
{
value: 20,
color: "#fdb45C",
highlight: "#FFC870",
label: "Yellow"
},
{
value: 60,
color: "#949FB1",
highlight: "#A8B3C5",
label: "Grey"
},
{
value: 120,
color: "#4D5360",
highlight: "#616774",
label: "Dark Grey"
}
];
window.onload = function(){
var ctx = document.getElementById("chart-area").getContext("2d");
window.myDoughnut = new Chart(ctx).Doughnut(doughnutData, {
responsive : false,
animateScale: false,
animateRotate:false,
animationEasing : "eaSEOutSine",
animationSteps : 80,
percentageInnerCutout : 90,
});
myDoughnut.outerRadius= 200;
window.myDoughnut2 = new Chart(ctx).Doughnut(doughnutData2, {
responsive : false,
animateScale: false,
animateRotate:false,
animationEasing : "eaSEOutSine",
animationSteps : 80,
percentageInnerCutout : 90
});
};
</script>
</body>
</html>
谢谢,
约亨
解决方法:
有2个canvas元素,并使用CSS将它们一个放在另一个上面.内部帆布具有内部甜甜圈,并且具有圆形边界,使得它尽可能少地覆盖外部甜甜圈.
预习
HTML
<div id="w">
<canvas id="d1" height="400" width="400"></canvas>
<canvas id="d2" height="320" width="320"></canvas>
</div>
CSS
#w {
position: relative;
height: 400px;
width: 400px;
}
#d1, #d2 {
position: absolute;
}
#d1 {
top: 0px;
left: 0px;
}
#d2 {
border-radius: 150px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
小提琴 – https://jsfiddle.net/rhLxawt5/
在这一点上,我们有一个相当不错的饼图与不重叠的甜甜圈,但我们的工具提示将被剪掉,因为它们仍然是他们各自的画布的一部分.
我们可以通过编写customTooltips函数来使用div而不是在画布中绘制矩形来解决这个问题.
小提琴 – https://jsfiddle.net/rca0ync3/
关于javascript-无法使用jspdf和chartjs向画布添加背景色和javascript不可用怎么办的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于ichartjs:javascript不能进化么?、javascript – $.getJSON无法使用本地JSON文件、javascript – angular2和charts.js互动、javascript – Chart.js – 同一画布上的多个甜甜圈图表的相关知识,请在本站寻找。
本文标签: