Пытаясь передать Bokeh Wordcloud2 Джанго Темплету - PullRequest
0 голосов
/ 29 октября 2019

Я работаю над передачей визуализации данных с использованием библиотеки Bokeh в проект Django. Я могу пройти стандартную визуализацию Bokeh, но когда я пытаюсь использовать внешнюю библиотеку wordcloud2, мой проект падает. Я получаю сообщение «Произошла ошибка сервера. Пожалуйста, свяжитесь с администратором». Любые идеи будут высоко оценены?!

Используемый импорт:

        from bokeh.plotting import figure, output_file, show
        from bokeh.embed import components
        # Bokeh WordCloud
        from bokeh.io import show
        from bokeh.models import ColumnDataSource
        from bokeh_wordcloud2 import WordCloud2

views.py

Код ниже работает:

        x = [1,2,3,4,5]
        y = [1,2,3,4,5]

        plot = figure(title='Line Graph', x_axis_label='x_stuff', y_axis_label='y_stuff', plot_width=400, plot_height=400)
        plot.line(x, y, line_width=2)

        #auto_div - dynamically generates div elemetent
        script, auto_div = components(plot)

Исходя из приведенного выше примера, я пытаюсь передать значения для wordcloud очень похожим образом, но он не работает:

        titles = ['lorem ipsum dolor sit amet',
                'consectetur adipiscing elit',
                'cras iaculis semper odio',
                'eu posuere urna vulputate sed']
        test1 = ColumnDataSource({'titles':titles})  
        wordcloud = WordCloud2(source=test1,wordCol="titles",color=['pink','blue','green']) 

        script, auto_div = components(wordcloud)

        context = {
            'script':script,
            'auto_div':auto_div,
        }

        return render(request, 'two_boxes/home.html', context)

На основании моего тестирования кажется, что проблема возникает при script, auto_div = components(wordcloud) оператор

home.html

        <head>
        {% block bokeh_dependencies %}
        <link href="http://cdn.pydata.org/bokeh/release/bokeh-1.3.4.min.css" rel=”stylesheet” type=”text/css”>
        <link href="http://cdn.pydata.org/bokeh/release/bokeh-widgets-1.3.4.min.css" rel=”stylesheet” type=”text/css”>

        <script src="http://cdn.pydata.org/bokeh/release/bokeh-1.3.4.min.js"></script>
        <script src="http://cdn.pydata.org/bokeh/release/bokeh-widgets-1.3.4.min.js"></script>
        {{ script | safe }}
        {% endblock %}
        </head>

        <body>
        <h1>Bokeh Stuff</h1>
        {{ auto_div | safe }}
        </body>

Ресурсы:

https://hackernoon.com/integrating-bokeh-visualisations-into-django-projects-a1c01a16b67a https://github.com/joranbeasley/bokeh_wordcloud2

...