将 google 折线图的背景设置为透明和响应式
Set background as transparent and responsive for google Line Chart
我想用Googlelinechart
.
这是我的项目图片
我的问题:
1) 如何设置背景颜色:透明 ??
2) 如果用户点击整页大小(右按钮),图表将不再是 100% 宽度,如何设置为 100%?
此图用于第二题
您可以通过 CSS 图表的 rect 属性来定位,如下所示:
rect {
fill: rgb(0,0,0,0);
}
https://jsfiddle.net/kL2vaed4/2/
这是我使用黑色背景的示例,因此您可以看到它有效。
要使图表的背景透明,
使用以下配置选项...
backgroundColor: 'transparent',
chartArea: {
backgroundColor: 'transparent',
}
使图表响应,
当容器大小改变时重新绘制图表,
例如 window 的调整大小事件...
window.addEventListener('resize', function () {
chart.draw(data, options);
});
请参阅以下工作片段,
运行 代码段,然后单击 "Full page" 查看它的变化...
注意:容器 <div>
具有青色背景
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var data = google.visualization.arrayToDataTable([
['x', 'y'],
[0, 0],
[1, 1],
[2, 2],
[3, 3],
[4, 4],
[5, 5]
]);
var options = {
backgroundColor: 'transparent',
chartArea: {
backgroundColor: 'transparent',
}
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
window.addEventListener('resize', function () {
chart.draw(data, options);
});
});
#chart_div {
background-color: cyan;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
关于设备宽度(或windows宽度)的唯一反应方式就是重绘图表。这是真的,但是不要忘记在重新绘制新版本之前销毁旧图表。
.destroy()
此代码可以删除旧图表,之后您可以添加新图表
// Example from the docs
var myLineChart = new Chart(ctx, config);
// Destroys a specific chart instance
myLineChart.destroy();
我测试过,它工作正常
我想用Googlelinechart .
这是我的项目图片
我的问题:
1) 如何设置背景颜色:透明 ??
2) 如果用户点击整页大小(右按钮),图表将不再是 100% 宽度,如何设置为 100%?
此图用于第二题
您可以通过 CSS 图表的 rect 属性来定位,如下所示:
rect {
fill: rgb(0,0,0,0);
}
https://jsfiddle.net/kL2vaed4/2/ 这是我使用黑色背景的示例,因此您可以看到它有效。
要使图表的背景透明,
使用以下配置选项...
backgroundColor: 'transparent',
chartArea: {
backgroundColor: 'transparent',
}
使图表响应,
当容器大小改变时重新绘制图表,
例如 window 的调整大小事件...
window.addEventListener('resize', function () {
chart.draw(data, options);
});
请参阅以下工作片段,
运行 代码段,然后单击 "Full page" 查看它的变化...
注意:容器 <div>
具有青色背景
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var data = google.visualization.arrayToDataTable([
['x', 'y'],
[0, 0],
[1, 1],
[2, 2],
[3, 3],
[4, 4],
[5, 5]
]);
var options = {
backgroundColor: 'transparent',
chartArea: {
backgroundColor: 'transparent',
}
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
window.addEventListener('resize', function () {
chart.draw(data, options);
});
});
#chart_div {
background-color: cyan;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
关于设备宽度(或windows宽度)的唯一反应方式就是重绘图表。这是真的,但是不要忘记在重新绘制新版本之前销毁旧图表。
.destroy()
此代码可以删除旧图表,之后您可以添加新图表
// Example from the docs
var myLineChart = new Chart(ctx, config);
// Destroys a specific chart instance
myLineChart.destroy();
我测试过,它工作正常