def budget_detail(request, budget_id): budget_owner = User.objects.get(id=Budget.objects.get(id=budget_id).user_id).username title = Budget.objects.get(id=budget_id).title base = Cost.objects.filter(budget_id=budget_id, user=request.user).values() total = Cost.objects.filter(budget_id=budget_id, user=request.user).aggregate(Sum('value'))['value__sum'] budget = Budget.objects.get(id=budget_id).value date = [] date_url = [] categories = [] categories_id = [] for item in Cost.objects.filter(budget_id=budget_id, user=request.user).values('title', 'publish', 'category_id'): date.append(str(item['publish'])) date_url.append(str(item['publish']).replace('-', '/')) categories.append(Category.objects.get(id=item['category_id']).title) categories_id.append(Category.objects.get(id=item['category_id']).id) categories_title = [] categories_title_id =[] categories_data = [] for item in Category.objects.values('title', 'id'): val = Cost.objects.filter(budget_id=budget_id, user=request.user, category_id=item['id']).aggregate(Sum('value'))['value__sum'] if val is not None: categories_title.append(item['title']) categories_title_id.append(item['id']) categories_data.append(val) try: total_budget = budget - total except TypeError: total_budget = 0 info = zip(base, date, date_url, categories, categories_id) data = { 'money': [float(x) for x in categories_data], 'labels': categories_title } p1 = Donut(data, values='money', label='labels', plot_width=390, plot_height=400, legend=None, responsive=True) p1.logo = None p1.toolbar_location = None script, div = components(p1, CDN) cat_all = zip(categories_title, categories_data, categories_title_id) return render(request, 'core_sm/costs/budget/budget_detail.html', {'info': info, 'title': title, 'total': total, 'budget': budget, 'total_budget': total_budget, 'script': mark_safe(script), 'div': mark_safe(div), 'cat_all': cat_all, 'categories_data': categories_data, 'budget_owner': budget_owner})
def Donut_Pie(df): pd.options.html.border = 1 percentage = df.percentage.values.tolist() Type = df.Type.values.tolist() data = pd.Series(percentage, index=Type) plot = Donut(data, title="Overall Sentiment % wise") plot.logo = None script, div = components(plot, CDN) return script, div
def fnCreate_Pie(df): pd.options.html.border = 1 Location = df.Location.values.tolist() count = df['count'].tolist() data = pd.Series(count, index=Location) plot = Donut(data, title="Top 5 Country-wise tweets") plot.logo = None script, div = components(plot, CDN) return script, div
def Donut_Pie(df,stS): pd.options.html.border=1 percentage = df.Count.values.tolist() Type= df.Aspects.values.tolist() data = pd.Series(percentage, index = Type) plot = Donut(data, title= stS +" Sentiment Aspects segmentation") plot.logo=None # show(plot) script, div = components(plot,CDN) return script, div
var_name='spectrograph') wedge_b = Donut(df, plot_height=220, plot_width=220, color=source.data['color']) wedge_r = Donut(df, plot_height=220, plot_width=220, color=source.data['color']) wedge_z = Donut(df, plot_height=220, plot_width=220, color=source.data['color']) wedge_b.logo = None wedge_r.logo = None wedge_z.logo = None wedge_b.toolbar_location = None wedge_r.toolbar_location = None wedge_z.toolbar_location = None curdoc().add_root(row(widgetbox(title, width=700))) curdoc().add_root(row(widgetbox(slider, width=700))) curdoc().add_root( row( column( widgetbox(Div(text="<b>Cameras:</b>")), p,
def category_detail(request, category_id): category_title = Category.objects.get(id=category_id).title spends = Cost.objects.filter(category_id=category_id, user=request.user) stats = [] days = [] days_url = [] for item in spends: stats.append(Budget.objects.get(id=item.budget_id).title) for item in spends.values('publish'): days.append(str(item['publish'])) days_url.append(str(item['publish']).replace('-', '/')) data = zip(spends, stats, days, days_url) data_sum = Cost.objects.filter(category_id=category_id, user=request.user).aggregate(Sum('value'))['value__sum'] data_avg = Cost.objects.filter(category_id=category_id, user=request.user).aggregate(Avg('value'))['value__avg'] data_min = Cost.objects.filter(category_id=category_id, user=request.user).aggregate(Min('value'))['value__min'] data_max = Cost.objects.filter(category_id=category_id, user=request.user).aggregate(Max('value'))['value__max'] category_budget_title = [] category_budget_spends = [] category_budget_id = [] for item in Budget.objects.values('title', 'id'): val = Cost.objects.filter(budget_id=item['id'], category_id=category_id, user=request.user).aggregate(Sum('value'))[ 'value__sum'] if val is not None: category_budget_title.append(item['title']) category_budget_spends.append(val) category_budget_id.append(item['id']) else: pass budgets = [] budgets_id = [] budgets_data = [] for item in Budget.objects.filter(user=request.user).values('title', 'id'): val = Cost.objects.filter(category_id=category_id, user=request.user, budget_id=Budget.objects.get(id=item['id']).id).aggregate(Sum('value'))['value__sum'] if val is not None: budgets_data.append(val) budgets.append(item['title']) budgets_id.append(item['id']) table_data = { 'money': [float(x) for x in budgets_data], 'labels': budgets } p1 = Donut(table_data, values='money', label='labels', plot_width=390, plot_height=400, legend=None, responsive=True) p1.logo = None p1.toolbar_location = None script, div = components(p1, CDN) category_budget_data = zip(category_budget_title, category_budget_spends, category_budget_id) return render(request, 'core_sm/costs/category/category_detail.html', {'data': data, 'data_sum': data_sum, 'data_avg': data_avg, 'data_min': data_min, 'data_max': data_max, 'category_title': category_title, 'category_budget_data': category_budget_data, 'script': mark_safe(script), 'div': mark_safe(div)})