2015-05-08 2 views
0

Я использую django-nvd3 в качестве библиотеки визуализации, они предлагают ограниченное количество поддерживаемых диаграмм. Есть ли способ настроить PieChart, предлагаемый в документе, быть диаграммой пончика.Как рисовать диаграмму пончика с Django-nvd3

def statistics(request): 
context=RequestContext(request) 


xdata = ["Apple", "Apricot", "Avocado", "Banana", "Boysenberries", "Blueberries", "Dates", "Grapefruit", "Kiwi", "Lemon"] 
ydata = [52, 48, 160, 94, 75, 71, 490, 82, 46, 17] 
chartdata = {'x': xdata, 'y': ydata} 
charttype = "pieChart" 
chartcontainer = 'piechart_container' 
data = { 
    'charttype': charttype, 
    'chartdata': chartdata, 
    'chartcontainer': chartcontainer, 
    'extra': { 
     'x_is_date': False, 
     'x_axis_format': '', 
     'tag_script_js': True, 
     'jquery_on_ready': False, 
    } 
} 
return render_to_response('App/statistics.html',data) 

Я могу изменить размер диаграммы, установив его таким образом:

{% include_container chartcontainer 426 400 %} 

ответ

0

Только что наткнулся на эту проблему сам. Так лучше поздно, чем никогда ...

Я просто посмотрел на разницу в коде JS для пончика против нормального (found here) и заметил 4 дополнительных настроек.

Так что я положил их в раздел «лишний» из data и что, казалось, работали.

Редактировать: Я заметил, что настройки ярлыков не повлияли. Несколько раз взглянув на исходный код страницы и nvd3_tags.py, я понял, что вам нужно процитировать labelType и вставить их в другой словарь под названием chart_attr. Смотри ниже.

def statistics(request): 
    context=RequestContext(request) 

    xdata = ["Apple", "Apricot", "Avocado", "Banana", "Boysenberries", "Blueberries", "Dates", "Grapefruit", "Kiwi", "Lemon"] 
    ydata = [52, 48, 160, 94, 75, 71, 490, 82, 46, 17] 
    chartdata = {'x': xdata, 'y': ydata} 
    charttype = "pieChart" 
    chartcontainer = 'piechart_container' 
    data = { 
     'charttype': charttype, 
     'chartdata': chartdata, 
     'chartcontainer': chartcontainer, 
     'extra': { 
      'x_is_date': False, 
      'x_axis_format': '', 
      'tag_script_js': True, 
      'jquery_on_ready': False, 
      'donut':True, 
      'donutRatio':0.35, 
      'chart_attr':{ 
       'labelThreshold':0.5, 
       'labelType':'\"percent\"', 
      } 
     } 
    } 
    return render_to_response('App/statistics.html',data) 
Смежные вопросы