santoshphilip / eppy

scripting language for E+, Energyplus
MIT License
151 stars 67 forks source link

enhancement - performance curve visualization #136

Open MatthewSteen opened 7 years ago

MatthewSteen commented 7 years ago

I recently added the charts from the COMNET Equipment Performance Curves spreadsheet* to the EnergyPlus CurveFitTool spreadsheet as a quick way to visualize curves generated from manufacturer data, which would be a nice enhancement similar to @jamiebull1's geometry and loopdiagram visualization work. @jmarrec has done some nice visualizations of performance maps using plotly.

In particular, I think the spreadsheets above could benefit from a makeover using some of the Python libraries (matplotlib, bokeh, etc.) and I could see two obvious features of this enhancement:

  1. View the performance curve/map from the IDF
  2. View the performance curve/map from data not in the IDF

(*) Currently broken, download the old version for reference.

santoshphilip commented 7 years ago

dang ! I was sure I left a comment here. I must have just hit preview without hitting the comment button

santoshphilip commented 7 years ago

this is worth doing.

@MatthewSteen Can you flesh out what the API would look like. It does not have to be perfect ... just a starting point. (Ignore the implementation - assume we can implement anything)

My first thought was: idfcurveobject.plotcurve(format='png')

santoshphilip commented 7 years ago

This is interesting to think of:

Some implications:

jmarrec commented 7 years ago

Make an implementation in pure python and have an optional argument in the API to use bokeh or plotly?

Envoyé de mon iPhone

Le 1 oct. 2016 à 19:20, santoshphilip notifications@github.com a écrit :

This is interesting to think of:

it would be useful to have visualization object available within eppy when using python notebook (or jupyter notebook) one can interactively look at the visualization and then continue editing. the visualization can be: performance curves building envelope or part envelope loop diagram or part loop diagram Some implications:

This is going to force us to import modules that are not pure python. Right now eppy is pure python So it can be used in grasshopper and jython I would like to continue to keep that possible. there is a pathway to keep that option. We just need to keep that in mind. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

santoshphilip commented 7 years ago

I am not able to find pure python visualization libraries. the ones that say pure python have dependencies that are not pure python.

jmarrec commented 7 years ago

I guess I never had to think about it, I was thinking matplotlib was, now that you're mentioning it I could definitely understand that it isn't.

Envoyé de mon iPhone

Le 2 oct. 2016 à 16:44, santoshphilip notifications@github.com a écrit :

I am not able to find pure python visualization libraries. the ones that say pure python have dependencies that are not pure python.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

santoshphilip commented 7 years ago

I was a little surprised by that too. thinking about it, I can see the difficulty in developing a pure python visualization package.

We have to strategize so that eppy works with and without the visualization in a transparent manner. @eayoungs did a great job regarding numpy in eppy. eppy will use numpy if it is installed, but will use tinynumpy (pure python) if it is not installed.

This situation is a little different, but I think there is a way thru.

MatthewSteen commented 7 years ago

@santoshphilip,

Here are some thoughts with the caveat that haven't used eppy much (I typically use the OpenStudio API for work).

My first thought was: idfcurveobject.plotcurve(format='png')

I think that's a good start. I would expect the kwarg might change.

  • the visualization can be:
    • performance curves
    • building envelope or part envelope
    • loop diagram or part loop diagram

All great ideas, suggest breaking up into separate issues.

Some implications:

  • This is going to force us to import modules that are not pure python.
    • Right now eppy is pure python
    • So it can be used in grasshopper and jython
    • I would like to continue to keep that possible.
    • there is a pathway to keep that option. We just need to keep that in mind.

I wasn't aware of this, so good to know. In my opinion one of the major benefits of Python is the availability of great libraries (Pandas, matplotlib, Bokeh, etc.) in addition to IPython/Jupyter.

I was a little surprised by that too. thinking about it, I can see the difficulty in developing a pure python visualization package.

We have to strategize so that eppy works with and without the visualization in a transparent manner. @eayoungs did a great job regarding numpy in eppy. eppy will use numpy if it is installed, but will use tinynumpy (pure python) if it is not installed.

This situation is a little different, but I think there is a way thru.

Seems like it would be easier to implement visualization using existing "impure" libraries first.