javascript - 如何更改 AmChart 图表的描边宽度属性?

标签 javascript php css wkhtmltopdf amcharts

我正在使用 AmCharts 图表生成报告,效果非常好。当我将页面转换为 pdf 时,问题就出现了,并且每个图表的框架周围都有黑色笔划。当我检查 html 时,我发现如下内容:

<path cs="100,100" d="M0.5,0.5 L609.5,0.5 L609.5,549.5 L0.5,549.5 L0.5,0.5 Z"
fill="#FFFFFF" stroke="#000000" fill-opacity="0" stroke-width="1" stroke-
opacity="0" transform="translate(10,0)"></path>

我可以编辑线条不透明度和线条颜色,它可以在 html 中工作,但是当我使用 wkhtmltopdf 转换为 pdf 时,这些会被忽略,并且每个图表周围都会出现黑色笔画。我该怎么做才能避免这种情况?

最佳答案

您看到的是一个图表背景元素。它在屏幕上看不到,因为默认情况下它的不透明度为零。我不太熟悉 wkhtmltopdf (我使用的 PhantomJS 没有这个问题),所以我不确定为什么如果不透明度为 0,它会在背景周围显示边框,但是有一个技巧你可以尝试。

首先,我们需要启用图表元素的类名应用,使用 addClassNames属性。

AmCharts.makeChart( "chartdiv", {
  ...
  "addClassNames": true,
  ...
} );

相关的 SVG 节点将附加一个 class="amcharts-bg"。现在您可以通过 CSS 定位它:

.amcharts-bg, .amcharts-plot-area {
  stroke-width: 0!important;
}

或者如果您不使用它,则直接隐藏整个背景:

.amcharts-bg, .amcharts-plot-area {
  display: none;
}

我希望这足以解决 wkhtmltopdf 问题。

关于javascript - 如何更改 AmChart 图表的描边宽度属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30595376/

相关文章:

javascript - [ jQuery/Datatable ] : datatables not responsive, 禁用输入搜索

javascript - 如何仅针对同一个父级通过按钮隐藏/显示字段

php - 将回显或返回的字符串从 php 获取到 jquery/ajax 的最简单方法是什么

php - 如果表单输入与使用 Laravel 的身份验证接受的值不匹配,则阻止注册 (5.3)

html - CSS Sprite - 图像不显示

javascript - 带有 Css 的 float 标签在边缘、Internet Explorer 中不起作用

php - MySQL 在事务中重置 AUTO_INCREMENT

php - 在 codeigniter 中使用自定义 where 子句

css - 当鼠标放在包含的 div 元素上时更改 anchor 文本的颜色

jquery - 响应式菜单 - 子菜单问题