gpt4 book ai didi

google-apps-script - 使用谷歌应用程序脚本图表服务创建图表会产生低质量的图像

转载 作者:行者123 更新时间:2023-12-04 10:54:40 24 4
gpt4 key购买 nike

当我以编程方式创建图表、转换为图像并附加到文档时,图像的质量不如直接在文档上(手动)创建的质量。

如果可以解决这个问题有什么想法吗?

这就是我创建它的方式

var dataTable = Charts.newDataTable()
.addColumn(Charts.ColumnType.STRING, 'Área')
.addColumn(Charts.ColumnType.NUMBER, '# sessões')

var i = 1;
var extra = 0;
var data = []
for(var r in users_sessions_area) {
var current = users_sessions_area[r]
if(i <= 5 && current.area && current.area != '') {
dataTable.addRow([current.area, Number(current.sessions)]);
data.push([current.area, Number(current.sessions)]);
} else {
extra += Number(current.sessions);
}
i++;
}

if(extra > 0) {
dataTable.addRow(["Outras", extra]);
data.push(["Outras", extra]);
}

sheet.getRange("A2:B" + (data.length + 1)).setValues(data);

var chart = sheet.getCharts()[0];

var graphData = Charts.newPieChart().setDataTable(dataTable);
graphData.setTitle("% sobre o total de sessões");
graphData.setLegendPosition(Charts.Position.BOTTOM);

var chart = graphData.build();
return chart.getAs('image/png');

然后将其添加到文档中
  body.findText("%%SESSION_AREAS_CHART%%").getElement().getParent().asParagraph().appendInlineImage(createSessionsPerAreaChart(variables));

最佳答案

  • 您想以高分辨率将图表图像放入 Google 文档。
  • 您想使用 Google Apps 脚本来实现这一点。

  • 如果我的理解是正确的,这个答案怎么样?请将此视为几种可能的答案之一。

    问题和解决方法:

    不幸的是,在默认设置下,当图表作为图像 blob 检索时,分辨率很低。所以在这种情况下,需要将图表设置为高分辨率后,将图表检索为图像blob。这样,图表就可以作为高分辨率的图像放到 Google 文档中。

    为了给图表设置高分辨率,在这个答案中,它使用 setDimensions() .当 setDimensions()使用时,图表尺寸可以做得很大。但是字体大小不会自动设置为大。所以还需要设置字体大小。

    修改后的脚本:

    当您的脚本被修改时,请进行如下修改。

    从:
    var chart = graphData.build();

    到:
    var chart = graphData.setDimensions(1000, 1000).setOption("fontSize", 40).build();



    从:
    body.findText("%%SESSION_AREAS_CHART%%").getElement().getParent().asParagraph().appendInlineImage(createSessionsPerAreaChart(variables));

    到:
    var image = body.findText("%%SESSION_AREAS_CHART%%").getElement().getParent().asParagraph().appendInlineImage(createSessionsPerAreaChart(variables));
    image.setWidth(500).setHeight(500);

    笔记:
  • 在上述修改后的脚本中,作为测试用例,基本分辨率设置为 1000 x 1000 像素。字体大小为 40。通过设置为 500 x 500 像素将检索到的图像放入 Google 文档。
  • 关于这一点,请根据您的实际情况进行修改。
  • 如果你想独立改变图表中标题和图例的字体大小,也可以使用 setTitleTextStyle() setLegendTextStyle() .
  • 如果您想将以上反射(reflect)到其他图表,可能需要修改其他参数。所以请注意这一点。

  • 引用:
  • Visualization: Pie Chart
  • Charts Service
  • Class TextStyleBuilder
  • Class InlineImage

  • 如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

    关于google-apps-script - 使用谷歌应用程序脚本图表服务创建图表会产生低质量的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59289997/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com