【问题标题】:Highcharts: generate blank chartHighcharts:生成空白图表
【发布时间】:2015-10-22 15:11:32
【问题描述】:

我的应用程序接收动态数据并生成一个图表,并可选择使用chart.renderer.text() 在顶部显示一条消息。

有时对数据的动态请求格式不正确,并且生成的数据不可靠,因此在这种情况下,我想生成一个完全空白的图表(具有自定义背景颜色)与最初请求的宽度和高度相同(请求的那部分通常是可以的),并且只是像上面描述的那样使用消息覆盖来向用户显示消息。

最简单的方法是什么?我希望空白图表从字面上看是......只是一个没有轴或任何东西的纯色,并且没有关于“没有数据可显示”的消息,我在搜索答案时发现的几个示例中看到了这种消息。在空白背景(具有用户定义的宽度和高度)之上,我的消息覆盖。

【问题讨论】:

    标签: highcharts


    【解决方案1】:

    这将是最简单的创建...空图表。然后在load 事件中向图表添加必要的文本。像这样的东西:http://jsfiddle.net/zkj36o7e/1/

    $('#container').highcharts({
        chart: {
            events: {
                load: function () {
                    var text = this.renderer.text("Malformed data").attr({
                        'text-anchor': "middle",                 // SVG's text-align ;)
                        stroke: "black",                         // color
                        opacity: 0,                              // smooth animation - part I  
                        x: this.plotWidth / 2 + this.plotLeft    // x-center of the plot
                    }).add(),
                        bbox = text.getBBox();                   // get bounding box of the created text 
    
                    text.attr({
                        y: this.plotHeight / 2 - bbox.height / 2 // y-position - half of the text's height
                    }).animate({
                        opacity: 1                               // smooth animation - part II
                    });
                }
            }
        }
    });
    

    【讨论】:

    • 好的,谢谢。我曾尝试过类似的方法,但没有奏效。可能是我的代码中的其他内容导致了我的问题。
    • 具体来说,我收到了 Uncaught Highcharts error #13: www.highcharts.com/errors/13 错误。我的代码的结构有点像下面(只是你的例子的重新散列):jsfiddle.net/zkj36o7e/2。我想知道这是否是时间问题,在“renderTo”设置为“container”的图表创建之前,“container”元素还没有“准备好”。
    • 很难说没有现场演示。确保您正在创建图表 onload 事件(例如在内部:$(function() { ... });)。另外,请确保您的容器存在(仔细检查 ID - 可能是一些拼写错误?)。
    • 是的,这是我无法理解的。代码肯定在$(function() { ... });) 内(根据 jsfiddle.net/zkj36o7e/2),所以它应该只在“容器”实际准备好后才引用“容器”。事实上,当生成一整套图表选项/数据时,一切正常,但是一旦我绕过选项/数据生成(并返回一个非常基本的图表选项,renderTowidthheight ) 它给出了 #13 错误...... html 或 js 中的其他内容都没有改变(例如,“容器”中没有错字)。很奇特。
    • 没有现场演示很难说是哪里出了问题,对不起。您的网站可以在线访问吗?如果没有,你能用一些假数据设置简单的演示来重现问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多