【问题标题】:flotchart rendering wrong流程图渲染错误
【发布时间】:2019-09-01 15:32:53
【问题描述】:

我的 Flotchart 渲染不正确,在两个目标浏览器(ie8 和 firefox)中,这个图表在数据前面用网格线渲染

在 Chrome 和 Safari 中根本不会出现任何线条,这是预期的结果。在 Internet Explorer 8 中,图形呈现为 VML,我能够将网格线隔离为 vml 对象,不幸的是,隐藏这些对象所涉及的 CSS 会很棘手,同时仅限于 CSS2,然后这不适用于 Firefox,其中元素的图表不会呈现为单独的元素。

这里是图形代码http://jsfiddle.net/gamm/t3Vqh/2/

var dataset = [overdue, open, completed];

var options = {
    series: {
        stack: true,
        bars: {
            show: true
        }
    },
    bars: {
        align: "center",
        horizontal: false,
        barWidth: .8,
        lineWidth: 0
    },
    grid: {
        borderWidth: 0,
        borderColor: null,
        backgroundColor: null,
        labelMargin: 10,
        minBorderMargin: 10
    },
    yaxis: {
        tickColor: "FFFFFF"
    },
    xaxis: {
        tickColor: "FFFFFF",
        ticks: [
            [1, "Public Works"],
            [2, "Sanitation"],
            [3, "Mayor"],
            [4, "L&I"],
            [5, "Police"]
        ]
    },
    legend: {
        position: 'ne',
        show: true
    }
};

$.plot($("#example-section15 #flotcontainer"), dataset, options);

【问题讨论】:

  • 如果你禁用了堆栈和堆栈插件,你还会看到这个错误吗?
  • @DNS 是的,在 JSfiddle 中尝试之后我仍然看到这个错误,从 jsfiddle 中删除堆叠和 stack.js 并不能修复错误

标签: javascript jquery cross-browser flot


【解决方案1】:

这里发生了两件事:

  1. 看起来 Flot 总是在系列填充上方绘制网格线。这从未被认为是一个错误,因为默认情况下线条非常轻,当条(或线条等)有边框时效果不太明显。

  2. 在 IE 中出现黑线的原因是“FFFFFF”不是有效的颜色规范。如果您改为使用“#ffffff”(或“透明”),则 IE 看​​起来与其他浏览器相同,它们更宽容。这不仅限于 IE8 或 Excanvas;甚至 IE10 也无法使用这种格式。

前者可能值得在Github 上作为问题提交,因为它可以说是一个错误。

【讨论】:

  • 谢谢,这很有帮助。我认为这只是 Chrome 和 Safari 在识别十六进制颜色时对主题标签不那么严格,如果这是真的,那将是令人惊讶的。在我阅读的示例中,flot 语法一直使用没有标签的十六进制颜色,所以我认为这是这个库需要的格式。
猜你喜欢
  • 1970-01-01
  • 2010-10-29
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
  • 2017-09-01
  • 1970-01-01
  • 2016-10-30
  • 1970-01-01
相关资源
最近更新 更多