动态刷新(或更改)背景图像

时间:2013-06-19 11:21:16

标签: highcharts

我很感激任何帮助。

每次向其添加一些数据时,我需要做的是刷新/更改实时图表的背景图像。实时数据部分工作正常。

我试过了“chart.plotBGImage.attr({href:'xxx'});”方法,但我得到一个错误:“无法读取未定义的属性'plotBGImage'”。

关于错误或不同方法的任何想法?

到目前为止,这是我的代码:

<script type="text/javascript">
    var chart1; 

    function requestData() {
        $.ajax({
            url: 'get_data/getECGdata.php',
            success: function(point) {

                var series1 = chart1.series[0],
                shift = series1.data.length > 20; 

                // add the point
                chart1.series[0].addPoint(eval(point), true, shift);    


                //The line below is the one giving the error
                //this.chart1.plotBGImage.attr({href: "http://www.highcharts.com/images/stories/logohighcharts.png"});              

                // call it again after one/two/etc seconds
                setTimeout(requestData, 1000);  
                },
            cache: false
        });
    }

    $(document).ready(function() {

        chart1 = new Highcharts.Chart({
            chart: {
                renderTo: 'container',
                zoomType: 'x',
                backgroundColor:'rgba(255, 255, 255, 0.4)',
                defaultSeriesType: 'line',
                marginTop: 60,
                events: {load: requestData}
            },
            title: {text: 'Live ECG data'},
            xAxis: {type: 'datetime', tickPixelInterval: 150, maxZoom: 20 * 1000},
            yAxis: {minPadding: 0.2, maxPadding: 0.2, title: {text:'ECG reading', margin: 20 } },
            tooltip: {xDateFormat: '%H:%M:%S', shared: true},
            credits: {enabled: false},
            series: [
                    {name: 'ECG', color: 'green', data: [] }

                ]
        });

    });
    </script>

4 个答案:

答案 0 :(得分:1)

这是我更改图表背景图片的方式: 下载任何模式并将其放入您的图像文件夹,现在只需在您的高级图中添加以下代码:

  chart: {  
    plotBackgroundImage:'/assets/lightpaperfibers.png',
  },

在路径中写下图像名称,即'/assets/your_image.png'

答案 1 :(得分:1)

命令:

chart.highcharts().plotBGImage.attr({href: picturePath});

允许更改图表上的图像。单击按钮后我更改了图像,这样就可以了。 在我的项目picturePath中是带有图片的文件夹的路径:“Pictures / example.png”

确切代码:

self.chartPlot = chart.highcharts();
...
self.pic = ...;
self.chartPlot.plotBGImage.attr({href: self.pic});// changes the image on the chart.

现在(2014年11月)我正在研究我的项目www.tanks-vs.com,积极使用Highcharts和这个命令。因此,经过1或2周后,它将在那里实施,你可以看到。

答案 2 :(得分:0)

您可以通过以下方式禁用标准背景颜色:

backgroundColor: 'rgba(255,255,255,0)'

然后在CSS中为#contaniner设置backgorund并使用jquery / javacript来修改它。

示例:http://jsfiddle.net/LGzuj/

答案 3 :(得分:0)

我知道您正在尝试更改Highchart中的背景图片。

只是给chart.plotBGImage.attr({href: 'xxx'});无济于事,你需要重新加载整个HighChart。

我这样做了(没有实时数据部分,因为它适合你工作!!)Fiddle