【问题标题】:Highcharts not displaying with csv/json and FlaskHighcharts 不显示 csv/json 和 Flask
【发布时间】:2016-05-12 08:36:48
【问题描述】:

所以基本上我一直在尝试使用 Flask 在 2x3 网格中显示图表。 (总共 6 张图表),但我什至无法找到一张。

我在看这个:http://www.highcharts.com/demo/line-time-series

默认示例似乎有效。但是,但是当我在 localhost:5000/data 托管我自己的数据并使用 highcharts 加载它时,什么都没有出现。我认为数据格式错误。

我的数据是这样的

{'2016-04-22': 3,
'2016-04-25': 1,
'2016-04-26': 1,
'2016-04-29': 12,
'2016-05-03': 2}

但该链接中的数据是

?([
[Date.UTC(2013,5,2),0.7695],
[Date.UTC(2013,5,3),0.7648],
[Date.UTC(2013,5,4),0.7645],
[Date.UTC(2013,5,5),0.7638]]

这是一个小提琴链接(忽略 data.csv,它应该是数据) https://jsfiddle.net/d8xgno5d/

有人指点吗?现在真的很绝望。我试过 csv,但我不知道如何将 csv 数据从链接加载到 highchars 中。

所有帮助将不胜感激:)

谢谢! :)

【问题讨论】:

  • 当您提供小提琴时,请确保其正常工作。
  • 您好,感谢您的回复! :) 请问您所说的工作是什么意思?它不起作用,这就是我在这里发帖的原因:(
  • 在您没有包含 jQuery 或 highcharts 库并且您指的是我们无法访问的本地主机上的资源的意义上,它不起作用。如果无法查看问题所在,我们将无能为力。
  • 检查 jsfiddle.net/d8xgno5d/2 以获取包含相关库的更新,如果确实是您的问题,请更新您的问题。
  • 非常感谢您的更新! :) 我的问题是:1)当我使用 json 时,什么都没有出现。可能是由于上面所说的数据格式差异 2)当我使用 csv 时,我不知道如何从我托管在 localhost 上的链接将其加载到 highcharts 中

标签: jquery highcharts flask


【解决方案1】:

对于那些感兴趣的人,我设法解决了 load csv 方法。

通过将 .getJSON 的第一行替换为

 $.get('http://localhost:5000/data.csv',function(csv){

您可以改为加载 CSV,当您可以在 python 中使用 pandas 时,这会容易得多。

如果需要,这里是 javascript 文件的完整代码。

$(document).ready(function () {
     $.get('http://localhost:5000/data.csv',function(csv){
        $('#workload').highcharts({
            chart: {
                zoomType: 'x'
            },
            data: {
                csv: csv
            },
            title: {
                text: 'Evie Workload'
            },
            subtitle: {
                text: document.ontouchstart === undefined ?
                        'Click and drag in the plot area to zoom in' : 'Pinch the chart to zoom in'
            },
            xAxis: {
                type: 'datetime'
            },
            yAxis: {
                title: {
                    text: 'Emails'
                }
            },
            legend: {
                enabled: false
            },

            credits:{
                enabled:false
            },
            plotOptions: {
                area: {
                    fillColor: {
                        linearGradient: {
                            x1: 0,
                            y1: 0,
                            x2: 0,
                            y2: 1
                        },
                        stops: [
                            [0, Highcharts.getOptions().colors[0]],
                            [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]
                        ]
                    },
                    marker: {
                        radius: 2
                    },
                    lineWidth: 1,
                    states: {
                        hover: {
                            lineWidth: 1
                        }
                    },
                    threshold: null
                }
            },

            series: [{
                type: 'area',
                name: 'Workload',
            }]
        });
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    相关资源
    最近更新 更多