我在下面的简单散点图上仅创建了一个点(我总是只有一个点)
在上面的图表中,我想将左上方和右下方的框标记为一种颜色,而其余两个框则标记为不同,以向用户提示其值是好是坏。
左上和右下为好(绿色),右上和左下为坏(红色)。
仅供参考,我正在添加颜色随处可见的示例图像
我已经搜索了很多,却找不到任何解决方案。我尝试了线性渐变,但是无法按照我想要的方式使用线性渐变。
是否可以在Google图表中为网格框着色?我还有其他方法可以做到吗?
谢谢。
答案 0 :(得分:1)
没有用于指定背景色的配置选项。
但是您可以使用堆积区域系列添加颜色。
有关图表,您将需要5个系列。
1)散布
2)区域-左低
3)区域-左高
4)区域-右低
5)区域-右高
请参阅以下工作片段...
google.charts.load('current', {
packages:['corechart']
}).then(function () {
var dataTable = new google.visualization.DataTable({
cols: [
{label: 'X', type: 'number'},
{label: 'Left-Low', type: 'number'},
{label: 'Left-High', type: 'number'},
{label: 'Right-Low', type: 'number'},
{label: 'Right-High', type: 'number'},
{label: 'Y', type: 'number'}
],
rows: [
// scatter
{c:[{v: 14}, {v: 130}, null, null, null, null]},
// colors
{c:[{v: 1}, null, {v: 170}, {v: 130}, null, null]},
{c:[{v: 6}, null, {v: 170}, {v: 130}, null, null]},
{c:[{v: 6}, null, {v: null}, {v: null}, {v: 170}, {v: 130}]},
{c:[{v: 15}, null, {v: null}, {v: null}, {v: 170}, {v: 130}]},
]
});
var options = {
colors: ['#ffffff'],
legend: 'none',
hAxis: {
ticks: [1, 6, 15],
title: 'Coleman-Liau Index'
},
height: 400,
isStacked: true,
series: {
// Left-Low
1: {
areaOpacity: 1,
color: '#e53935',
enableInteractivity: false,
type: 'area',
visibleInLegend: false
},
// Left-High
2: {
areaOpacity: 1,
color: '#43a047',
enableInteractivity: false,
type: 'area',
visibleInLegend: false
},
// Right-Low
3: {
areaOpacity: 1,
color: '#43a047',
enableInteractivity: false,
type: 'area',
visibleInLegend: false
},
// Right-High
4: {
areaOpacity: 1,
color: '#e53935',
enableInteractivity: false,
type: 'area',
visibleInLegend: false
}
},
seriesType: 'scatter',
vAxis: {
ticks: [40, 170, 300],
title: 'Talking Speed (WpM)'
}
};
var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(dataTable, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>