Pixiedust: проблема цикла для построения графиков

Мне нравится эффективность и действенность Python при обработке данных, поэтому я решил попробовать Pixiedust/Pixieapp для построения диаграмм, которыми моя команда должна легко поделиться. Моя цель - отобразить некоторые линейные диаграммы из входной переменной temp_arr (list). для этого может потребоваться цикл for, чтобы получить данные каждого массива из temp_arr и присвоить их pd_entity. Я могу получить результат нескольких диаграмм из кода, однако каждая диаграмма одинакова и, кажется, содержит один и тот же набор данных, но не из другого набора данных массива из temp_arr, как отключено. Ниже представлена ​​моя демонстрация кода, благодарю за помощь. Я застрял почти на неделю;) что-то меня смущает: -какова область видимости переменной в шаблоне Jinja /javascript/pd_script? как мы можем передавать данные между этими областями - я использовал неправильные параметры pd_options в моем коде, из-за которых диаграммы не менялись? там'меньше справочного примера в WWW....

(основной HTML-код предназначен для выбора пользователем дат, а другой маршрут - для отображения результата диаграммы в цикле. Я еще не пробовал выбранные даты как переменную влияния...)

from pixiedust.display.app import *
  
@PixieApp
class HelloWorldPixieApp:
    @route()
    def main(self):
        return"""

      Start Date:
      <input type="date" id="start_date{{prefix}}" name="startdate"><br>
      End Date:
      <input type="date" id="end_date{{prefix}}" name="enddate"><br>
      
       <input pd_options="clicked=true;start_info=$val(start_date{{prefix}});end_info=$val(end_date{{prefix}})" type="button" value="Click Me">
        """
    
    @route(clicked="true",start_info="*",end_info="*")
    @templateArgs
    def _clicked(self,start_info,end_info):
        try_index=0     
        self.chart_index=0

        return """
            <div>{{this.start_num}},{{this.end_num}}</div>

            {%for detail in this.pixieapp_entity%}

              {%if loop.index0>5 and loop.index0<10%}
               <div>this is: {{loop.index0}}
               </div>

               {%set try_index=loop.index0%}
               <div> try_index is: {{try_index}}
               </div>
               <div>
                    <div pd_options="handlerId=lineChart;keyFields=_id;rendererId=bokeh;valueFields=value,up_limit,low_limit"                     
                        pd_entity="chart_data" pd_render_onload>
                        <pd_script>
self.chart_data=self.pixieapp_entity[{{try_index}}]       {# tried "self.chart_data=detail" here but it didn't work #}               
                        </pd_script>

                    </div>    
               </div>

              {%endif%}

            {%endfor%}
            
        """
#run the app
HelloWorldPixieApp().run(temp_arr)

0 ответов

Другие вопросы по тегам