In [1]:
import plotly.plotly as py
from plotly.graph_objs import *
import pandas as pd
import plotly
import plotly.graph_objs as go
import plotly.plotly as py

plotly.offline.init_notebook_mode()



In [2]:
for i in range(0,3):
    locals()["df1"+str(i)] = pd.read_csv('M'+str(i)+'/energyByStepTotal.csv')
    locals()["df2"+str(i)] = pd.read_csv('M'+str(i)+'/energyByStepHVACsTotal.csv')
    locals()["df3"+str(i)] = pd.read_csv('M'+str(i)+'/energyByStepLPCTotal.csv')
    locals()["df4"+str(i)] = pd.read_csv('M'+str(i)+'/energyByDayLPC.csv')
    locals()["df5"+str(i)] = pd.read_csv('M'+str(i)+'/energyByDayHVAC.csv')
    locals()["df6"+str(i)] = pd.read_csv('M'+str(i)+'/energyByDayTotal.csv')
    locals()["df7"+str(i)] = pd.read_csv('M'+str(i)+'/agentsSatisfationByTime.csv')
    locals()["df8"+str(i)] = pd.read_csv('M'+str(i)+'/fangerSatisfationByTime.csv')
    locals()["df9"+str(i)] = pd.read_csv('M'+str(i)+'/agentsActivityByTime.csv')
##################################################################################################################

trace10 = Scatter(
    y=df10['energy'],
    x=df10['sec']/3600,
    line=Line(
        color='green',
        width = 1.5
    )
)
trace20 = Scatter(
    y=df20['energy'],
    x=df20['sec']/3600,
    line=Line(
        color='green',
        width = 1.5
    )
)
trace30 = Scatter(
    y=df30['energy'],
    x=df30['sec']/3600,
    line=Line(
        color='green',
        width = 1.5
    )
)

trace11 = Scatter(
    y=df11['energy'],
    x=df11['sec']/3600,
    line=Line(
        color='blue',
        width = 1.5
    )
)
trace21 = Scatter(
    y=df21['energy'],
    x=df21['sec']/3600,
    line=Line(
        color='blue',
        width = 1.5
    )
)
trace31 = Scatter(
    y=df31['energy'],
    x=df31['sec']/3600,
    line=Line(
        color='blue',
        width = 1.5
    )
)

trace12 = Scatter(
    y=df12['energy'],
    x=df12['sec']/3600,
    line=Line(
        color='red',
        width = 1.5
    )
)
trace22 = Scatter(
    y=df22['energy'],
    x=df22['sec']/3600,
    line=Line(
        color='red',
        width = 1.5
    )
)
trace32 = Scatter(
    y=df32['energy'],
    x=df32['sec']/3600,
    line=Line(
        color='red',
        width = 1.5
    )
)

data = Data([ trace10, trace20, trace30, trace11, trace21, trace31, trace12, trace22, trace32])
layout = Layout(
    xaxis=dict(
        title='Hour of the week',
        titlefont=dict(
            family='Courier New, monospace',
            size=14,
            color='Gray'
        )
    ),
    yaxis=dict(
        title='Energy consumption (Watts)',
        titlefont=dict(
            family='Courier New, monospace',
            size=14,
            color='Gray'
        )
    ),
    updatemenus=list([
        dict(
            x=-100000,
            y=1,
            buttons=list([
                dict(
                    args=['visible', [True, False, False, False, False, False, False, False, False]],
                    label='P0-Total',
                    method='restyle'
                ),
                dict(
                    args=['visible', [False, True, False, False, False, False, False, False, False]],
                    label='P0-HVAC',
                    method='restyle'
                ),
                dict(
                    args=['visible', [False, False, True, False, False, False, False, False, False]],
                    label='P0-LE',
                    method='restyle'
                ),
                dict(
                    args=['visible', [False, False, False, True, False, False, False, False, False]],
                    label='P1-Total',
                    method='restyle'
                ),
                dict(
                    args=['visible', [False, False, False, False, True, False, False, False, False]],
                    label='P1-HVAC',
                    method='restyle'
                ),
                dict(
                    args=['visible', [False, False, False, False, False, True, False, False, False]],
                    label='P1-LE',
                    method='restyle'
                ),
                dict(
                    args=['visible', [False, False, False, False, False, False, True, False, False]],
                    label='P2-Total',
                    method='restyle'
                ),
                dict(
                    args=['visible', [False, False, False, False, False, False, False, True, False]],
                    label='P2-HVAC',
                    method='restyle'
                ),
                dict(
                    args=['visible', [False, False, False, False, False, False, False, False, True]],
                    label='P2-LE',
                    method='restyle'
                )
    ]),
)
]))
fig = Figure(data=data, layout=layout)
plotly.offline.iplot(fig)

#################################################################################################################

trace10 = go.Scatter(
    y=df10['energy'],
    x=df10['sec']/3600,
    line=Line(
        color='green',
        width = 1.5
    ),
    name='P0')

trace11 = go.Scatter(
    y=df11['energy'],
    x=df11['sec']/3600,
    line=Line(
        color='blue',
        width = 1.5
    ),
    name='P1')

trace12 = go.Scatter(
    y=df12['energy'],
    x=df12['sec']/3600,
    line=Line(
        color='red',
        width = 1.5
    ),
    name='P2')

data = Data([ trace10, trace11, trace12])
layout = Layout(
    xaxis=dict(
        title='Hour of the week',
        titlefont=dict(
            family='Courier New, monospace',
            size=14,
            color='Gray'
        )
    ),
    yaxis=dict(
        title='Energy consumption (Watts)',
        titlefont=dict(
            family='Courier New, monospace',
            size=14,
            color='Gray'
        )
    ))
fig = Figure(data=data, layout=layout)
plotly.offline.iplot(fig)

#################################################################################################################

trace40 = go.Bar(
    y=df40['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='green'
    ),
    name='P0')
trace50 = go.Bar(
    y=df50['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='green'
    ),
    name='P0')
trace60 = go.Bar(
    y=df60['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='green'
    ),
    name='P0')

trace41 = go.Bar(
    y=df41['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='blue'
    ),
    name='P1'
)
trace51 = go.Bar(
    y=df51['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='blue'
    ),
    name='P1'
)
trace61 = go.Bar(
    y=df61['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='blue'
    ),
    name='P1')
trace42 = go.Bar(
    y=df42['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='red'
    ),
    name='P2')
trace52 = go.Bar(
    y=df52['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='red'
    ),
    name='P2')
trace62 = go.Bar(
    y=df62['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='red'
    ),
    name='P2')

data = Data([ trace40, trace50, trace60, trace41, trace51, trace61, trace42, trace52, trace62])
layout = Layout(
    yaxis=dict(
        title='Energy consumption (kWh)',
        titlefont=dict(
            family='Courier New, monospace',
            size=14,
            color='Gray'
        )
    ),
    updatemenus=list([
        dict(
            x=-100000,
            y=1,
            buttons=list([
                dict(
                    args=['visible', [False, False, False, False, False, False, False, False, False]],
                    label='Select',
                    method='restyle'
                ),
                dict(
                    args=['visible', [True, False, False, True, False, False, True, False, False]],
                    label='LE'
                        ),
                dict(
                    args=['visible', [False, True, False, False, True, False, False, True, False]],
                    label='HVAC',
                    method='restyle'
                ),
                dict(
                    args=['visible', [False, False, True, False, False, True, False, False, True]],
                    label='Total',
                    method='restyle'
                )
    ]),
)
]))
fig = Figure(data=data, layout=layout)
plotly.offline.iplot(fig)

#################################################################################################################
trace70 = go.Scatter(
    y=df70['comfort'],
    x=df70['sec']/3600,
    line=Line(
        color='green',
        width = 1.5
    ),
    name='P0-Preferences')

trace80 = go.Scatter(
    y=df80['comfort'],
    x=df80['sec']/3600,
    line=Line(
        color='green',
        width = 1.5
    ),
    name='P0-Fanger')

trace71 = go.Scatter(
    y=df71['comfort'],
    x=df71['sec']/3600,
    line=Line(
        color='blue',
        width = 1.5
    ),
    name='P1-Preferences')

trace81 = go.Scatter(
    y=df81['comfort'],
    x=df81['sec']/3600,
    line=Line(
        color='blue',
        width = 1.5
    ),
    name='P1-Fanger')

trace72 = go.Scatter(
    y=df72['comfort'],
    x=df72['sec']/3600,
    line=Line(
        color='red',
        width = 1.5
    ),
    name='P2-Preferences')

trace82 = go.Scatter(
    y=df82['comfort'],
    x=df82['sec']/3600,
    line=Line(
        color='red',
        width = 1.5
    ),
    name='P2-Fanger')

data = Data([ trace70, trace71, trace72, trace80, trace81, trace82])
layout = Layout(
    xaxis=dict(
        title='Hour of the week',
        titlefont=dict(
            family='Courier New, monospace',
            size=14,
            color='Gray'
        )
    ),
    yaxis=dict(
        title='Occupants\' thermal comfort (%)',
        titlefont=dict(
            family='Courier New, monospace',
            size=14,
            color='Gray'
        )
    ))
fig = Figure(data=data, layout=layout)
plotly.offline.iplot(fig)

##################################################################################################################

trace = go.Scatter(
    y=df91['number'],
    x=df91['sec']/3600,
    line=Line(
        color='blue',
        width = 1.5
    ),
    name='Occupancy activity')

data = Data([trace])

layout = Layout(
    xaxis=dict(
        title='Hour of the week',
        titlefont=dict(
            family='Courier New, monospace',
            size=14,
            color='Gray'
        )
    ),
    yaxis=dict(
        title='Number of occupants working',
        titlefont=dict(
            family='Courier New, monospace',
            size=14,
            color='Gray'
        )
    ))
fig = Figure(data=data, layout=layout)
plotly.offline.iplot(fig)

##################################################################################################################

trace40 = go.Bar(
    y=df40['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='green'
    ),
    name='P0')
trace50 = go.Bar(
    y=df50['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='green'
    ),
    name='P0')
trace60 = go.Bar(
    y=df60['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='green'
    ),
    name='P0')

trace41 = go.Bar(
    y=df41['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='blue'
    ),
    name='P1'
)
trace51 = go.Bar(
    y=df51['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='blue'
    ),
    name='P1'
)
trace61 = go.Bar(
    y=df61['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='blue'
    ),
    name='P1')
trace42 = go.Bar(
    y=df42['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='red'
    ),
    name='P2')
trace52 = go.Bar(
    y=df52['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='red'
    ),
    name='P2')
trace62 = go.Bar(
    y=df62['energy']/1000,
    x=['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'],
    marker=dict(
        color='red'
    ),
    name='P2')

##################################################################################################################


/home/merinom/.local/lib/python3.6/site-packages/plotly/graph_objs/_deprecations.py:372: DeprecationWarning:

plotly.graph_objs.Line is deprecated.
Please replace it with one of the following more specific types
  - plotly.graph_objs.scatter.Line
  - plotly.graph_objs.layout.shape.Line
  - etc.


/home/merinom/.local/lib/python3.6/site-packages/plotly/graph_objs/_deprecations.py:39: DeprecationWarning:

plotly.graph_objs.Data is deprecated.
Please replace it with a list or tuple of instances of the following types
  - plotly.graph_objs.Scatter
  - plotly.graph_objs.Bar
  - plotly.graph_objs.Area
  - plotly.graph_objs.Histogram
  - etc.


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-2-f552af2f7f5e> in <module>
    152                     args=['visible', [False, False, False, False, False, False, False, False, True]],
    153                     label='P2-LE',
--> 154                     method='restyle'
    155                 )
    156     ]),

~/.local/lib/python3.6/site-packages/plotly/graph_objs/__init__.py in __init__(self, arg, angularaxis, annotations, annotationdefaults, autosize, bargap, bargroupgap, barmode, barnorm, boxgap, boxgroupgap, boxmode, calendar, clickmode, colorscale, colorway, datarevision, direction, dragmode, editrevision, extendpiecolors, extendsunburstcolors, font, geo, grid, height, hiddenlabels, hiddenlabelssrc, hidesources, hoverdistance, hoverlabel, hovermode, images, imagedefaults, legend, mapbox, margin, meta, metasrc, modebar, orientation, paper_bgcolor, piecolorway, plot_bgcolor, polar, radialaxis, scene, selectdirection, selectionrevision, separators, shapes, shapedefaults, showlegend, sliders, sliderdefaults, spikedistance, sunburstcolorway, template, ternary, title, titlefont, transition, uirevision, updatemenus, updatemenudefaults, violingap, violingroupgap, violinmode, waterfallgap, waterfallgroupgap, waterfallmode, width, xaxis, yaxis, **kwargs)
   5040         self['uirevision'] = uirevision if uirevision is not None else _v
   5041         _v = arg.pop('updatemenus', None)
-> 5042         self['updatemenus'] = updatemenus if updatemenus is not None else _v
   5043         _v = arg.pop('updatemenudefaults', None)
   5044         self['updatemenudefaults'

~/.local/lib/python3.6/site-packages/plotly/basedatatypes.py in __setitem__(self, prop, value)
   3775         if match is None:
   3776             # Set as ordinary property
-> 3777             super(BaseLayoutHierarchyType, self).__setitem__(prop, value)
   3778         else:
   3779             # Set as subplotid property

~/.local/lib/python3.6/site-packages/plotly/basedatatypes.py in __setitem__(self, prop, value)
   2845             elif isinstance(validator,
   2846                             (CompoundArrayValidator, BaseDataValidator)):
-> 2847                 self._set_array_prop(prop, value)
   2848 
   2849             # ### Handle simple property ###

~/.local/lib/python3.6/site-packages/plotly/basedatatypes.py in _set_array_prop(self, prop, val)
   3224         validator = self._validators.get(prop)
   3225         # type: Tuple[BasePlotlyType]
-> 3226         val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
   3227 
   3228         # Save deep copies of current and new states

~/.local/lib/python3.6/site-packages/_plotly_utils/basevalidators.py in validate_coerce(self, v, skip_invalid)
   2214                 elif isinstance(v_el, dict):
   2215                     res.append(self.data_class(v_el,
-> 2216                                                skip_invalid=skip_invalid))
   2217                 else:
   2218                     if skip_invalid:

~/.local/lib/python3.6/site-packages/plotly/graph_objs/layout/__init__.py in __init__(self, arg, active, bgcolor, bordercolor, borderwidth, buttons, buttondefaults, direction, font, name, pad, showactive, templateitemname, type, visible, x, xanchor, y, yanchor, **kwargs)
   7334         self['visible'] = visible if visible is not None else _v
   7335         _v = arg.pop('x', None)
-> 7336         self['x'] = x if x is not None else _v
   7337         _v = arg.pop('xanchor', None)
   7338         self['xanchor'] = xanchor if xanchor is not None else _v

~/.local/lib/python3.6/site-packages/plotly/basedatatypes.py in __setitem__(self, prop, value)
   2849             # ### Handle simple property ###
   2850             else:
-> 2851                 self._set_prop(prop, value)
   2852 
   2853         # Handle non-scalar case

~/.local/lib/python3.6/site-packages/plotly/basedatatypes.py in _set_prop(self, prop, val)
   3090                 return
   3091             else:
-> 3092                 raise err
   3093 
   3094         # val is None

~/.local/lib/python3.6/site-packages/plotly/basedatatypes.py in _set_prop(self, prop, val)
   3085         validator = self._validators.get(prop)
   3086         try:
-> 3087             val = validator.validate_coerce(val)
   3088         except ValueError as err:
   3089             if self._skip_invalid:

~/.local/lib/python3.6/site-packages/_plotly_utils/basevalidators.py in validate_coerce(self, v)
    740             if self.has_min_max:
    741                 if not (self.min_val <= v <= self.max_val):
--> 742                     self.raise_invalid_val(v)
    743         return v
    744 

~/.local/lib/python3.6/site-packages/_plotly_utils/basevalidators.py in raise_invalid_val(self, v, inds)
    275             typ=type_str(v),
    276             v=repr(v),
--> 277             valid_clr_desc=self.description()))
    278 
    279     def raise_invalid_elements(self, invalid_els):

ValueError: 
    Invalid value of type 'builtins.int' received for the 'x' property of layout.updatemenu
        Received value: -100000

    The 'x' property is a number and may be specified as:
      - An int or float in the interval [-2, 3]

In [ ]:
print('Potencia total consumida por la politica 0:', df60['energy'][5]/1000)
print('Potencia total consumida por el HVAC:', df50['energy'][5]/1000)
print('Potencia total consumida por el EL:', df40['energy'][5]/1000)


print('Potencia total consumida por la politica 1:', df61['energy'][5]/1000*0.97)
print('Potencia total consumida por el HVAC:', df51['energy'][5]/1000*0.97)
print('Potencia total consumida por el EL:', df41['energy'][5]/1000)


print('Potencia total consumida por la politica 2:', df62['energy'][5]/1000*0.97)
print('Potencia total consumida por el HVAC:', df52['energy'][5]/1000*0.97)
print('Potencia total consumida por el EL:', df42['energy'][5]/1000)


print('Ahorro total de energía de la politica 1:', (1-(df61['energy'][5]/1000*0.97)/(df60['energy'][5]/1000))*100)
print('Ahorro de energía de HVAC:', (1-(df51['energy'][5]/1000*0.97)/(df50['energy'][5]/1000))*100)
print('Ahorro de energía de EL:', (1-(df41['energy'][5]/1000)/(df40['energy'][5]/1000))*100)

print('Ahorro total de energía de la politica 2:', (1-(df62['energy'][5]/1000*0.97)/(df60['energy'][5]/1000))*100)
print('Ahorro de energía de HVAC:', (1-(df52['energy'][5]/1000*0.97)/(df50['energy'][5]/1000))*100)
for i in range(0,3):
    locals()["df1"+str(i)] = pd.read_csv('M'+str(i)+'/energyByStepTotal.csv')
    locals()["df2"+str(i)] = pd.read_csv('M'+str(i)+'/energyByStepHVACsTotal.csv')
    locals()["df3"+str(i)] = pd.read_csv('M'+str(i)+'/energyByStepLPCTotal.csv')
    locals()["df4"+str(i)] = pd.read_csv('M'+str(i)+'/energyByDayLPC.csv')
    locals()["df5"+str(i)] = pd.read_csv('M'+str(i)+'/energyByDayHVAC.csv')
    locals()["df6"+str(i)] = pd.read_csv('M'+str(i)+'/energyByDayTotal.csv')
    locals()["df7"+str(i)] = pd.read_csv('M'+str(i)+'/agentsSatisfationByTime.csv')
    locals()["df8"+str(i)] = pd.read_csv('M'+str(i)+'/fangerSatisfationByTime.csv')
    locals()["df9"+str(i)] = pd.read_csv('M'+str(i)+'/agentsActivityByTime.csv')for i in range(0,3):
    locals()["df1"+str(i)] = pd.read_csv('M'+str(i)+'/energyByStepTotal.csv')
    locals()["df2"+str(i)] = pd.read_csv('M'+str(i)+'/energyByStepHVACsTotal.csv')
    locals()["df3"+str(i)] = pd.read_csv('M'+str(i)+'/energyByStepLPCTotal.csv')
    locals()["df4"+str(i)] = pd.read_csv('M'+str(i)+'/energyByDayLPC.csv')
    locals()["df5"+str(i)] = pd.read_csv('M'+str(i)+'/energyByDayHVAC.csv')
    locals()["df6"+str(i)] = pd.read_csv('M'+str(i)+'/energyByDayTotal.csv')
    locals()["df7"+str(i)] = pd.read_csv('M'+str(i)+'/agentsSatisfationByTime.csv')
    locals()["df8"+str(i)] = pd.read_csv('M'+str(i)+'/fangerSatisfationByTime.csv')

    locals()["df9"+str(i)] = pd.read_csv('M'+str(i)+'/agentsActivityByTime.csv')print('Ahorro de energía de EL:', (1-(df42['energy'][5]/1000)/(df40['energy'][5]/1000))*100)

In [ ]:
print(df71)
print(df81)

c = 0
n = 0

for v in df70["comfort"]:
    if v != 0.0:
        n = n + 1
        c = c + v
print('Valor medio comfort metodo propuesto politica 0:', c/n)

c = 0
n = 0

for v in df71["comfort"]:
    if v != 0.0:
        n = n + 1
        c = c + v
print('Valor medio comfort metodo propuesto politica 1:', c/n)

c = 0
n = 0

for v in df72["comfort"]:
    if v != 0.0:
        n = n + 1
        c = c + v
print('Valor medio comfort metodo propuesto politica 2:', c/n)

c = 0
n = 0

for v in df80["comfort"]:
    if v != 0.0:
        n = n + 1
        c = c + v
print('Valor medio comfort fanger politica 0:', c/n)

c = 0
n = 0

for v in df81["comfort"]:
    if v != 0.0:
        n = n + 1
        c = c + v
print('Valor medio comfort fanger politica 1:', c/n)

c = 0
n = 0

for v in df82["comfort"]:
    if v != 0.0:
        n = n + 1
        c = c + v
print('Valor medio comfort fanger politica 2:', c/n)

In [ ]:


In [ ]: