我想摆脱用逗号分隔工具提示中的数字/日期,并希望将数据格式设置为'2010'而不是'2,010'
google.charts.load('current', {
callback: function () {
var rawData = [
[2010, 100, 100],
[2011, 105, 120],
[2012, 111, 122],
[2013, 122, 132],
[2014, 131, 146],
[2015, 139, 150],
[2016, 143, 156],
];
var data = new google.visualization.DataTable({
"cols": [
{"id":"","label":"Date","type":'number'},
{"id":"","label":"Black","type":'number'},
{"id":"","label":"White","type":"number"}
]
});
var options = {
backgroundColor: 'transparent',
focusTarget: 'category',
fontName: 'Union',
lineWidth: 3,
colors: ['#000'],
crosshair: { orientation: 'vertical', trigger: 'both', color: 'black' },
tooltip: { isHtml: true},
pointSize: 0,
animation:{
startup: true,
duration: 300,
easing: 'out'
},
legend: 'none',
series: {
0: { lineDashStyle: [4, 4],tooltip : false, color:'rgb(223, 119, 106)', enableInteractivity: false, format: '0000'},
1: {color:'black', zIndex:5, format: '0000'},
},
hAxis: {
format: '0000',
gridlines: { color: 'transparent', count: 6 },
textStyle: { fontSize: 14, color: 'black' },
viewWindow: { min: 2010, max: 2016 }
},
vAxis:{
gridlines: { count: 7 },
textPosition: 'none',
textStyle: { color: 'transparent' },
viewWindow: { min: 100, max: 160 }
},
chartArea: { top: 110, left: 20, right: 200 },
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
drawChart();
setInterval(drawChart, 500);
var rowIndex = 0;
function drawChart() {
if (rowIndex < rawData.length) {
data.addRow(rawData[rowIndex++]);
chart.draw(data, options);
}
}
},
packages:['corechart']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div" style="width: 900px; height: 500px"></div>
我遇到的问题是保持动画而不影响数据。我想知道这是否可能? 我遇到的问题是保持动画而不影响数据。我想知道这是否可能吗?
答案 0 :(得分:0)
您可以使用数字格式化程序...
var formatYear = new google.visualization.NumberFormat({
pattern: '0'
});
您只需要在添加每一行后设置表格格式...
function drawChart() {
if (rowIndex < rawData.length) {
data.addRow(rawData[rowIndex++]);
formatYear.format(data, 0);
chart.draw(data, options);
}
}
请参阅以下工作片段...
google.charts.load('current', {
callback: function () {
var rawData = [
[2010, 100, 100],
[2011, 105, 120],
[2012, 111, 122],
[2013, 122, 132],
[2014, 131, 146],
[2015, 139, 150],
[2016, 143, 156],
];
var data = new google.visualization.DataTable({
"cols": [
{"id":"","label":"Date","type":'number'},
{"id":"","label":"Black","type":'number'},
{"id":"","label":"White","type":"number"}
]
});
var options = {
backgroundColor: 'transparent',
focusTarget: 'category',
fontName: 'Union',
lineWidth: 3,
colors: ['#000'],
crosshair: { orientation: 'vertical', trigger: 'both', color: 'black' },
tooltip: { isHtml: true},
pointSize: 0,
animation:{
startup: true,
duration: 300,
easing: 'out'
},
legend: 'none',
series: {
0: { lineDashStyle: [4, 4],tooltip : false, color:'rgb(223, 119, 106)', enableInteractivity: false, format: '0000'},
1: {color:'black', zIndex:5, format: '0000'},
},
hAxis: {
format: '0000',
gridlines: { color: 'transparent', count: 6 },
textStyle: { fontSize: 14, color: 'black' },
viewWindow: { min: 2010, max: 2016 }
},
vAxis:{
gridlines: { count: 7 },
textPosition: 'none',
textStyle: { color: 'transparent' },
viewWindow: { min: 100, max: 160 }
},
chartArea: { top: 110, left: 20, right: 200 },
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
drawChart();
setInterval(drawChart, 500);
var formatYear = new google.visualization.NumberFormat({
pattern: '0'
});
var rowIndex = 0;
function drawChart() {
if (rowIndex < rawData.length) {
data.addRow(rawData[rowIndex++]);
formatYear.format(data, 0);
chart.draw(data, options);
}
}
},
packages:['corechart']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>