我正在使用amcharts4来构建热图,然后通过dom2img我将其转换为图像。一切都很好,地图本身被渲染,但传说不是用dom2img捕获的。传说本身就是一个svg元素。
我想也许它与渐变有关,因为它是唯一的元素。
svg元素:
<g fill-opacity="1" fill="url("http://localhost:4200/campaigns/pptx/2#gradient-id-257")" style="pointer-events: none;"><path d="M0,0 L455,0 a0,0 0 0 1 0,0 L455,20 a0,0 0 0 1 -0,0 L0,20 a0,0 0 0 1 -0,-0 L0,0 a0,0 0 0 1 0,-0 Z"></path></g>
Dom2img应该渲染图例元素。
请改用amCharts内置导出功能:https://www.amcharts.com/docs/v4/concepts/exporting/
// First enable export
chart.exporting.menu = new am4core.ExportMenu();
chart.exporting.extraSprites.push({
"sprite": legendContainer,
"position": "bottom",
"marginTop": 20
});
// Then you can get the Base64 image
var imgData = chart.exporting.getImage("png");
您还可以使用extraSprites
包含图例,如上所示。了解更多关于including external legend in export的信息。