Линейная диаграмма отображения контрольного центра django с несколькими элементами, поступающими из поля файла модели - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть ряд записей модели, содержащих фрейм данных pandas, который хранится в файле h5py. Каждый входной файл имеет следующую структуру:

index - date - rate - active

Я хотел бы представить график изменения столбца ставки с течением времени (дата) для каждого из них. поэтому я начал создавать следующий класс LineChart с django controlcenter:

import datetime
from django.utils import timezone
from controlcenter import Dashboard, widgets
from .models import Currency
import pandas as pd

class CurrencyPriceLineChart(widgets.LineChart):
    title = 'Currency Price (EUR)'
    width = 3
    height = 550
    model = Currency
    the_data = model.objects.all()
    limit_to = None

    class Chartist:
        options={
            'axisX':{
                'labelOffset':{
                    'x':-24,
                    'y':0
                },
            },
            'chartPadding':{
                'top':24,
                'right':24,
            }
        }

    def legend(self):
        the_vals = [f.symbol for f in self.the_data]
        return the_vals

    def labels(self):
        today = timezone.now().date()
        labels = [(today-datetime.timedelta(days=x)).strftime('%d.%m')
                   for x in range(self.limit_to)]
        return labels

    def series(self): 
        series = []
        for sym in self.legend:
            item = self.values.get(sym,{})
            series.append([item.get(label,0) for label in self.labels])
        return series

    def values(self):
        queryset = []
        for currency in self.the_data:
            the_file = currency.historical_data.file
            df = pd.read_hdf('{}'.format(the_file),'Currency')
            queryset.append([df])
        return queryset

основная документация там: https://django -controlcenter.readthedocs.io / en / latest / examples.html # displaying-series-in-legend

меня немного смущает, так как вопрос касается вывода данных из входного файла. Вот скриншот того, что я получаю на данный момент:

enter image description here

...