如何将一长串数字转换为格式化的小时数
how to turn a long set of numbers into formatted hours
我需要将一长串数字格式化为小时。
您可以在花费的时间列下看到很长的数字,这些是需要格式化的小时数,使其看起来不像现在,6,000,需要看起来像 6,000 小时。
我有另一个请求,我能够格式化 Amount spent 列,但是我不知道如何格式化 hAxis 部分以显示美元符号。
我是 Google 图表的新手,它学得很快。文档似乎散开了。
google.charts.setOnLoadCallback(drawTimeAndAmountSpentTimeLineChart);
//Amount Completed
function drawTimeAndAmountSpentTimeLineChart() {
var data = google.visualization.arrayToDataTable([
['Web Design', 'Amount Spent', 'Time Spent'],
['Rendering Engines', 5000, 68000],
['User Management', 9000, 44000],
['Database', 5700, 32000],
['Security', 9000, 21000]
]);
var options = {
title: 'Amount Spent Per Task',
chartArea: { width: '70%' },
hAxis: {
title: 'Total Spent',
minValue: 0,
prefix: '$'
},
vAxis: {
title: 'Task'
}
};
var formatter = new google.visualization.NumberFormat({ prefix: '$' });
formatter.format(data, 1);
var chart = new google.visualization.BarChart(document.getElementById('timeAndAmountSpentTimeLineChart_div'));
chart.draw(data, options);
};
如果不要求太多条,运行 水平高度需要大约 50 像素,而不是很小的高度。这将是一个很大的帮助。
我不知道为什么它不在 js 中绘制fiddle它在我的机器中绘制。
将 NumberFormat 的 pattern
属性 用于 'Time Spent'
对于 x 轴标签 --> hAxis.format
请参阅以下工作片段...
google.charts.load('current', {
callback: function () {
var data = google.visualization.arrayToDataTable([
['Web Design', 'Amount Spent', 'Time Spent'],
['Rendering Engines', 5000, 68000],
['User Management', 9000, 44000],
['Database', 5700, 32000],
['Security', 9000, 21000]
]);
var options = {
title: 'Amount Spent Per Task',
chartArea: { width: '70%' },
hAxis: {
title: 'Total Spent',
minValue: 0,
format: '$#,##0'
},
vAxis: {
title: 'Task'
}
};
var formatAmt = new google.visualization.NumberFormat({ prefix: '$' });
formatAmt.format(data, 1);
var formatTime = new google.visualization.NumberFormat({ pattern: '#,##0 hrs' });
formatTime.format(data, 2);
var chart = new google.visualization.BarChart(document.getElementById('timeAndAmountSpentTimeLineChart_div'));
chart.draw(data, options);
},
packages: ['corechart']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="timeAndAmountSpentTimeLineChart_div"></div>
我需要将一长串数字格式化为小时。 您可以在花费的时间列下看到很长的数字,这些是需要格式化的小时数,使其看起来不像现在,6,000,需要看起来像 6,000 小时。
我有另一个请求,我能够格式化 Amount spent 列,但是我不知道如何格式化 hAxis 部分以显示美元符号。
我是 Google 图表的新手,它学得很快。文档似乎散开了。
google.charts.setOnLoadCallback(drawTimeAndAmountSpentTimeLineChart);
//Amount Completed
function drawTimeAndAmountSpentTimeLineChart() {
var data = google.visualization.arrayToDataTable([
['Web Design', 'Amount Spent', 'Time Spent'],
['Rendering Engines', 5000, 68000],
['User Management', 9000, 44000],
['Database', 5700, 32000],
['Security', 9000, 21000]
]);
var options = {
title: 'Amount Spent Per Task',
chartArea: { width: '70%' },
hAxis: {
title: 'Total Spent',
minValue: 0,
prefix: '$'
},
vAxis: {
title: 'Task'
}
};
var formatter = new google.visualization.NumberFormat({ prefix: '$' });
formatter.format(data, 1);
var chart = new google.visualization.BarChart(document.getElementById('timeAndAmountSpentTimeLineChart_div'));
chart.draw(data, options);
};
如果不要求太多条,运行 水平高度需要大约 50 像素,而不是很小的高度。这将是一个很大的帮助。
我不知道为什么它不在 js 中绘制fiddle它在我的机器中绘制。
将 NumberFormat 的 pattern
属性 用于 'Time Spent'
对于 x 轴标签 --> hAxis.format
请参阅以下工作片段...
google.charts.load('current', {
callback: function () {
var data = google.visualization.arrayToDataTable([
['Web Design', 'Amount Spent', 'Time Spent'],
['Rendering Engines', 5000, 68000],
['User Management', 9000, 44000],
['Database', 5700, 32000],
['Security', 9000, 21000]
]);
var options = {
title: 'Amount Spent Per Task',
chartArea: { width: '70%' },
hAxis: {
title: 'Total Spent',
minValue: 0,
format: '$#,##0'
},
vAxis: {
title: 'Task'
}
};
var formatAmt = new google.visualization.NumberFormat({ prefix: '$' });
formatAmt.format(data, 1);
var formatTime = new google.visualization.NumberFormat({ pattern: '#,##0 hrs' });
formatTime.format(data, 2);
var chart = new google.visualization.BarChart(document.getElementById('timeAndAmountSpentTimeLineChart_div'));
chart.draw(data, options);
},
packages: ['corechart']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="timeAndAmountSpentTimeLineChart_div"></div>