我正在尝试将django-nvd3与我的django项目一起使用,并且我试图让折线图示例正常工作。当我的页面加载时,我在chrome js控制台中收到以下错误:
未捕获的TypeError:无法设置undefined的属性'monthEnd' nv.d3.js:115(匿名函数)nv.d3.js:115(匿名函数) nv.d3.js:14369未捕获的TypeError:对象#没有方法 'lineChart'(索引):13(匿名函数)(索引):13(匿名 功能)nv.d3.js:63
我基本上已经从这里复制了代码: http://django-nvd3.readthedocs.org/en/latest/classes-doc/line-chart.html
我的观点是:
from django.shortcuts import render_to_response, render
import random
import datetime
import time
def demo_linechart(request):
"""
lineChart page
"""
start_time = int(time.mktime(datetime.datetime(2012, 6, 1).timetuple()) * 1000)
nb_element = 100
xdata = range(nb_element)
xdata = map(lambda x: start_time + x * 1000000000, xdata)
ydata = [i + random.randint(1, 10) for i in range(nb_element)]
ydata2 = map(lambda x: x * 2, ydata)
tooltip_date = "%d %b %Y %H:%M:%S %p"
extra_serie = {"tooltip": {"y_start": "", "y_end": " cal"},
"date_format": tooltip_date}
chartdata = {'x': xdata,
'name1': 'series 1', 'y1': ydata, 'extra1': extra_serie,
'name2': 'series 2', 'y2': ydata2, 'extra2': extra_serie}
charttype = "lineChart"
kw_extra = {
'x_is_date': True,
'x_axis_format':"%d %b %Y",
}
data = {
'charttype': charttype,
'chartdata': chartdata,
'kw_extra':kw_extra,
}
return render(request, 'smcore/nvd3.html', data)
我的HTML是:
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'nvd3/nv.d3.css' %}" />
<script type="text/javascript" src='{% static 'smcore/jquery-latest.js' %}'></script>
<script type="text/javascript" src='{% static 'smcore/d3.min.js' %}'></script>
<script type="text/javascript" src='{% static 'nvd3/nv.d3.js' %}'></script>
{% load nvd3_tags %}
<head>
{% load_chart charttype chartdata "linechart_container" kw_extra %}
{# {% load_chart charttype chartdata "linechart_container" True '%d %b %Y %H' %}#}
</head>
<body>
<h1>Fruits vs Calories</h1>
{# {% include_container "piechart_container" 400 500 %}#}
{% include_container "linechart_container" 400 600 %}
</body>
我的网址是:
url(r'testvis/$', temp.demo_linechart, name='testvis'),
我正在使用 nv.version ='1.1.15b'; d3 = {version:“2.7.0”}; // semver
请帮助!!
答案 0 :(得分:2)
对我来说,解决方案是samesense
的第一条评论:
https://github.com/areski/django-nvd3/issues/24
即:
data = { 'charttype': charttype, 'chartdata': chartdata, 'extra': {'x_is_date': True, 'x_axis_format': "%d %b %Y %H"}, } Then you fix the template to make it look like the piechart example. Change {% load_chart charttype chartdata "linechart_container" True "%d %b %Y %H" %} to {% load_chart charttype chartdata "linechart_container" extra %}