首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将从excel表格中提取的数据帧中的所有数据传递到highchart中?

如何将从excel表格中提取的数据帧中的所有数据传递到highchart中?
EN

Stack Overflow用户
提问于 2017-04-29 11:46:50
回答 1查看 317关注 0票数 0

我有一个原始数据,现在我需要使用原始数据来绘制一个高图表并传递给Django,任何人可以分享我如何绘制一个高图表的基本知识,以便在HTML页面中显示?我是python,Django和Highchart的新手,我已经通读了Highchart上的所有相关材料,但我仍然不理解,也不能开始使用它。

我可以从这个https://www.highcharts.com/demo/line-basic中提取一个图表,但在我的例子中,我需要提取所有数据并绘制一个图表。我尝试应用{% block content%},标题都基于我在数据框中的原始数据名称,但我仍然无法构建图表

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-29 15:58:33

根据你的错误信息,似乎Django无法确定urls.py文件中名为bar的url,我想你忘记了将named urls作为bar,这样javascript函数就可以从BarView获取数据。

下面添加一个示例,项目名称为questions,并创建一个名为charts的新应用,项目结构如下:

--图表

--问题

--db.sqlite3

--manage.py

1,questions/urls.py

代码语言:javascript
复制
from django.conf.urls import url, include
from django.contrib import admin
from charts import views as charts_views

urlpatterns = [
    url(r'^bar$', charts_views.BarView.as_view(), name='bar'),
    url(r'^charts/', include('charts.urls')),
    url(r'^admin/', admin.site.urls),
]

2、charts/urls.py

代码语言:javascript
复制
from django.conf.urls import url

from . import views

app_name = 'charts'
urlpatterns = [
    url(r'^$', views.index),    
]

3,charts/views.py

代码语言:javascript
复制
from django.shortcuts import render

# Create your views here.
from highcharts.views import HighChartsBarView
import random

def index(request):
    return render(request, 'charts/index.html')

class BarView(HighChartsBarView):
    categories = ['Orange', 'Bananas', 'Apples']

    @property
    def series(self):
        result = []
        for name in ('Joe', 'Jack', 'William', 'Averell'):
            data = []
            for x in range(len(self.categories)):
                data.append(random.randint(0, 10))
            result.append({'name': name, "data": data})
        return result

4、charts/templates/charts/index.html

代码语言:javascript
复制
{% load staticfiles %}<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="{% static 'js/highcharts/highcharts.js' %}"></script>
    <script type="text/javascript">
    $(function () {
        $.getJSON("{% url 'bar' %}", function(data) {
            $('#container').highcharts(data);
        });
    });
    </script>
</head>
<body>
<div id="container" style="height: 300px"></div>
</body>
</html>

5 .运行服务器,并在浏览器中键入http://127.0.0.1:8000/charts/

它会给你展示图表,希望能对你有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43691573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档