diff --git a/models/enercoop_operation.py b/models/enercoop_operation.py index c3cb525b888d70069da4b5bdf8b54b304c99336f..2df884676f32480322a290638294cdf6805946ef 100644 --- a/models/enercoop_operation.py +++ b/models/enercoop_operation.py @@ -587,7 +587,7 @@ class EnercoopOperation(models.Model): }, 'gridLines': { 'offsetGridLines': offsetGridLines - } + }, }], 'yAxes': [{ 'scaleLabel': { @@ -654,13 +654,13 @@ class EnercoopOperation(models.Model): 'label': 'AutoConso', 'data': data_autocons, 'backgroundColor': 'rgba(91, 154, 81, 0.4)', - 'borderColor': 'rgba(91, 154, 81, 1)', + 'hoverBackgroundColor': 'rgba(91, 154, 81, 0.7)', }, { 'label': 'AlloConso', 'data': data_allocons, 'backgroundColor': 'rgba(57, 120, 187, 0.4)', - 'borderColor': 'rgba(57, 120, 187, 1)', + 'hoverBackgroundColor': 'rgba(57, 120, 187, 0.7)', }] }, 'options': { @@ -685,14 +685,14 @@ class EnercoopOperation(models.Model): 'offset': True, 'gridLines': { 'offsetGridLines': True - } + }, + }], 'yAxes': [{ 'stacked': True, 'ticks': { 'beginAtZero': True, }, - 'type': 'linear', 'scaleLabel': { 'display': True, 'labelString': 'kWh', @@ -729,13 +729,20 @@ class EnercoopOperation(models.Model): sum_res1 = sum(chart_data['autocons']) sum_res2 = sum(chart_data['allocons']) - tot_res = sum_res1 + sum_res2 - res = [(sum_res1 * 100) / tot_res, (sum_res2 * 100) / tot_res] + if sum_res1 == 0: + label = ['Alloconso'] + res = [sum_res2] + elif sum_res2 == 0: + label = ['Autoconso'] + res = [sum_res1] + else: + label = ['Autoconso', 'Alloconso'] + res = [sum_res1, sum_res2] result['donuts_chart_conso'] = { 'type': 'doughnut', 'data': { - 'labels': ['Autoconso', 'Alloconso'], + 'labels': label, 'datasets': [{ 'label': 'Inférieur à 3', 'data': res, @@ -743,6 +750,10 @@ class EnercoopOperation(models.Model): 'rgba(91, 154, 81, 0.4)', 'rgba(57, 120, 187, 0.4)', ], + 'hoverBackgroundColor': [ + 'rgba(91, 154, 81, 0.7)', + 'rgba(57, 120, 187, 0.7)', + ], 'borderWidth': 1 }], }, @@ -752,7 +763,13 @@ class EnercoopOperation(models.Model): 'animateScale': True, }, 'plugins': { - + 'datalabels': { + 'color': 'white', + 'font': { + 'weight': 'bold' + }, + 'padding': 6, + } }, 'tooltips': { 'backgroundColor': '#f5f5f5', @@ -862,14 +879,20 @@ class EnercoopOperation(models.Model): sum_res1 = sum(chart_data['autocons_prod']) sum_res2 = sum(chart_data['surplus']) - tot_res = sum_res1 + sum_res2 - # res = [(sum_res1 * 100) / tot_res, (sum_res2 * 100) / tot_res] - res = [sum_res1, sum_res2] + if sum_res1 == 0: + label = ['Surplus'] + res = [sum_res2] + elif sum_res2 == 0: + label = ['AutoProd'] + res = [sum_res1] + else: + label = ['AutoProd', 'Surplus'] + res = [sum_res1, sum_res2] result['donuts_chart_prod'] = { 'type': 'doughnut', 'data': { - 'labels': ['AutoProd', 'Surplus'], + 'labels': label, 'datasets': [{ 'label': 'Inférieur à 3', 'data': res, @@ -877,10 +900,23 @@ class EnercoopOperation(models.Model): 'rgba(91, 154, 81, 0.4)', 'rgba(225, 80, 96, 0.4)', ], + 'hoverBackgroundColor': [ + 'rgba(91, 154, 81, 0.7)', + 'rgba(225, 80, 96, 0.7)', + ], 'borderWidth': 1 }], }, 'options': { + 'plugins': { + 'datalabels': { + 'color': 'white', + 'font': { + 'weight': 'bold' + }, + 'padding': 6, + } + }, 'cutoutPercentage': 60, 'animation': { 'animateScale': True, @@ -926,12 +962,14 @@ class EnercoopOperation(models.Model): 'label': 'AutoProd', 'data': data_autocons, 'backgroundColor': 'rgba(91, 154, 81, 0.4)', + 'hoverBackgroundColor': 'rgba(91, 154, 81, 0.7)', 'borderColor': 'rgba(91, 154, 81, 1)', }, { 'label': 'Surplus', 'data': data_surplus, 'backgroundColor': 'rgba(225, 80, 96, 0.4)', + 'hoverBackgroundColor': 'rgba(225, 80, 96, 0.7)', 'borderColor': 'rgba(225, 80, 96, 1)', }] },