我试图从一个数据表中创建一些图表,但是这些图表正在获取某种特定的数据,因此我发现使用DataTableBuilder类是有利的。与原始工作表相比,我能够更轻松地为数据指定标签。但是,我无法将图表类嵌入到工作表中。我是否试图将图表转换为EmbeddedChart或使用DataTable创建EmbeddedChart?我正在尝试从数据表中创建一些图表,但这些图表正在捕获某种特定数据,因此我已经找到了使用DataTableBuilder类的优势。与原始工作表相比,我能够更轻松地为数据指定标签。但是,我无法将图表类嵌入到工作表中。是否可以将图表转换为EmbeddedChart或使用DataTable创建EmbeddedChart?
这是下面的数据,我只需要最后一列(5/11),就不需要总行。所以它不是一个简洁的范围,否则我将只使用嵌入式图表构建器。
May 5/1 5/2 5/3 5/11
Critical 0 0 0 0
High 0 0 0 0
Call Immediate 4 11 4 3
Daytime Call 3 3 6 1
Totals 7 14 10 4
下面是我构建Chart的方式,其中dailyTotals的范围为[0,0,3,1]。这可以正常工作,但我无法标记任何内容。
var dailyChart = LOB.newChart()
.setChartType(Charts.ChartType.BAR)
.setOption('title', LOB.getName())
.addRange(dailyTotals)
.build();
LOB.insertChart(dailyChart);
在下面建立数据表时,这次的每日总计只是一个数组。但这给了我标签。
dailyTable = Charts.newDataTable()
.addColumn(Charts.ColumnType.STRING, "Priority")
.addColumn(Charts.ColumnType.NUMBER, "Incidents")
.addRow('P1', dailyTotals[0])
.addRow('P2', dailyTotals[1])
.addRow('P3', dailyTotals[2])
.addRow('P4', dailyTotals[3])
.build();
如何使用DataTable创建EmbeddedChart?或如何将图表转换为嵌入式图表?
答案 0 :(得分:1)
您需要在工作表中的其他位置重新创建以下范围,并将其添加为范围。
A B
P1 0
P2 0
P3 3
P4 1
范围[P1,P2,P3,P4]也可以在其他位置。然后,您可以添加两个范围:
.addRange([P1 to P4 range])
.addRange(dailyTotals)
.setOption('useFirstColumnAsDomain','true')
答案 1 :(得分:1)
在得到任何人的回应之前,我实际上想出了一个对我有用的解决方案。它涉及使用图例来确定哪个条,而不是沿着x轴的标签,但是它完全满足了我的要求,并且可能会帮助解决其他问题。
var dailySeries = {
0:{color: 'blue', labelInLegend: 'P1'},
1:{color: 'red', labelInLegend: 'P2'},
2:{color: 'yellow', labelInLegend: 'P3'},
3:{color: 'green', labelInLegend: 'P4'}
}
var dailyChart = LOB.newChart()
.setPosition(8, 27, 0, 0)
.setChartType(Charts.ChartType.BAR)
.asColumnChart()
.setOption('title', LOB.getName())
.addRange(dailyTotals.getCell(1, 1))
.addRange(dailyTotals.getCell(2, 1))
.addRange(dailyTotals.getCell(3, 1))
.addRange(dailyTotals.getCell(4, 1))
.setOption('series', dailySeries)
.build();
LOB.insertChart(dailyChart);