|
|
|
|
* Overview of =lm1-hourly-totals.py= and =lm2-hourly-totals.py= Scripts
|
|
|
|
|
|
|
|
|
|
I have assumed you have ran ~./separator.sh~ and ~./totalilator.sh~, created a
|
|
|
|
|
virtual-environment (venv) (~python3 -m venv venv~) and installed the dependencies
|
|
|
|
|
(via ~pip -r install requirements.txt~). See the project's [[file:../README.org][README]] for more
|
|
|
|
|
information on setting the repository up.
|
|
|
|
|
|
|
|
|
|
#+begin_src shell
|
|
|
|
|
cd <PATH TO RITHERDON-CHARTS>
|
|
|
|
|
# Activate the virtual-environment if you haven't...
|
|
|
|
|
source venv/bin/activate
|
|
|
|
|
|
|
|
|
|
# Run the script for generating the chart for Light Meter 1...
|
|
|
|
|
python lm1-hourly-totals.py
|
|
|
|
|
|
|
|
|
|
# Run the script for generating the chart for Light Meter 2...
|
|
|
|
|
python lm2-hourly-totals.py
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
* Design/Trade-Off Notes and Decisions
|
|
|
|
|
|
|
|
|
|
Both scripts do the same thing but each one focuses on a particular Light
|
|
|
|
|
Meter. I made two scripts instead of integrating both sets of data into one to
|
|
|
|
|
make things easier for myself. These scripts were, I think, some of the first
|
|
|
|
|
attempts and I did not know how much time I was going to spend on this
|
|
|
|
|
project. My thinking at the time was,
|
|
|
|
|
|
|
|
|
|
#+begin_quote
|
|
|
|
|
This works and it's easier to copy the code and replace ~1~ with ~2~ than add extra
|
|
|
|
|
loops and conditions to the code.
|
|
|
|
|
#+end_quote
|
|
|
|
|
|
|
|
|
|
If this project had more long-term aspirations, I would consolidate both scripts
|
|
|
|
|
into one.
|
|
|
|
|
|
|
|
|
|
I did not add a legend to the charts because the list ended up running off the
|
|
|
|
|
page when I tried it. There are too many lines plotted and the chart is
|
|
|
|
|
difficult to read on smaller screens. Overall, the pattern produced from seeing
|
|
|
|
|
the lines plotted on top of each other was the most important aspect for this
|
|
|
|
|
task.
|
|
|
|
|
|
|
|
|
|
The ~24~ hour time-slot in the CSV files are redundant. I kept them in due to
|
|
|
|
|
laziness.
|
|
|
|
|
|
|
|
|
|
The exhibition ran until the 1^st August 2021 but that was a Sunday and no one,
|
|
|
|
|
in Ritherdon, worked that day -- so there were no reading taken (I.E. no data to
|
|
|
|
|
process).
|
|
|
|
|
|
|
|
|
|
* Files Used
|
|
|
|
|
|
|
|
|
|
These are the data files (I.E. the CSV files) used by both scripts.
|
|
|
|
|
|
|
|
|
|
#+begin_src shell :results code
|
|
|
|
|
tree ../data/light-meter-*-hourly-totals
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
#+RESULTS:
|
|
|
|
|
#+begin_src shell
|
|
|
|
|
../data/light-meter-1-hourly-totals
|
|
|
|
|
├── 2021-06
|
|
|
|
|
│ ├── 2021-06-13.csv
|
|
|
|
|
│ ├── 2021-06-14.csv
|
|
|
|
|
│ ├── 2021-06-15.csv
|
|
|
|
|
│ ├── 2021-06-16.csv
|
|
|
|
|
│ ├── 2021-06-17.csv
|
|
|
|
|
│ ├── 2021-06-18.csv
|
|
|
|
|
│ ├── 2021-06-19.csv
|
|
|
|
|
│ ├── 2021-06-20.csv
|
|
|
|
|
│ ├── 2021-06-21.csv
|
|
|
|
|
│ ├── 2021-06-22.csv
|
|
|
|
|
│ ├── 2021-06-23.csv
|
|
|
|
|
│ ├── 2021-06-24.csv
|
|
|
|
|
│ ├── 2021-06-25.csv
|
|
|
|
|
│ ├── 2021-06-26.csv
|
|
|
|
|
│ ├── 2021-06-27.csv
|
|
|
|
|
│ ├── 2021-06-28.csv
|
|
|
|
|
│ ├── 2021-06-29.csv
|
|
|
|
|
│ └── 2021-06-30.csv
|
|
|
|
|
└── 2021-07
|
|
|
|
|
├── 2021-07-01.csv
|
|
|
|
|
├── 2021-07-02.csv
|
|
|
|
|
├── 2021-07-03.csv
|
|
|
|
|
├── 2021-07-04.csv
|
|
|
|
|
├── 2021-07-05.csv
|
|
|
|
|
├── 2021-07-06.csv
|
|
|
|
|
├── 2021-07-07.csv
|
|
|
|
|
├── 2021-07-08.csv
|
|
|
|
|
├── 2021-07-09.csv
|
|
|
|
|
├── 2021-07-10.csv
|
|
|
|
|
├── 2021-07-11.csv
|
|
|
|
|
├── 2021-07-12.csv
|
|
|
|
|
├── 2021-07-13.csv
|
|
|
|
|
├── 2021-07-14.csv
|
|
|
|
|
├── 2021-07-15.csv
|
|
|
|
|
├── 2021-07-16.csv
|
|
|
|
|
├── 2021-07-17.csv
|
|
|
|
|
├── 2021-07-18.csv
|
|
|
|
|
├── 2021-07-19.csv
|
|
|
|
|
├── 2021-07-20.csv
|
|
|
|
|
├── 2021-07-21.csv
|
|
|
|
|
├── 2021-07-22.csv
|
|
|
|
|
├── 2021-07-23.csv
|
|
|
|
|
├── 2021-07-24.csv
|
|
|
|
|
├── 2021-07-25.csv
|
|
|
|
|
├── 2021-07-26.csv
|
|
|
|
|
├── 2021-07-27.csv
|
|
|
|
|
├── 2021-07-28.csv
|
|
|
|
|
├── 2021-07-29.csv
|
|
|
|
|
└── 2021-07-30.csv
|
|
|
|
|
../data/light-meter-2-hourly-totals
|
|
|
|
|
├── 2021-06
|
|
|
|
|
│ ├── 2021-06-13.csv
|
|
|
|
|
│ ├── 2021-06-14.csv
|
|
|
|
|
│ ├── 2021-06-15.csv
|
|
|
|
|
│ ├── 2021-06-16.csv
|
|
|
|
|
│ ├── 2021-06-17.csv
|
|
|
|
|
│ ├── 2021-06-18.csv
|
|
|
|
|
│ ├── 2021-06-19.csv
|
|
|
|
|
│ ├── 2021-06-20.csv
|
|
|
|
|
│ ├── 2021-06-21.csv
|
|
|
|
|
│ ├── 2021-06-22.csv
|
|
|
|
|
│ ├── 2021-06-23.csv
|
|
|
|
|
│ ├── 2021-06-24.csv
|
|
|
|
|
│ ├── 2021-06-25.csv
|
|
|
|
|
│ ├── 2021-06-26.csv
|
|
|
|
|
│ ├── 2021-06-27.csv
|
|
|
|
|
│ ├── 2021-06-28.csv
|
|
|
|
|
│ ├── 2021-06-29.csv
|
|
|
|
|
│ └── 2021-06-30.csv
|
|
|
|
|
└── 2021-07
|
|
|
|
|
├── 2021-07-01.csv
|
|
|
|
|
├── 2021-07-02.csv
|
|
|
|
|
├── 2021-07-03.csv
|
|
|
|
|
├── 2021-07-04.csv
|
|
|
|
|
├── 2021-07-05.csv
|
|
|
|
|
├── 2021-07-06.csv
|
|
|
|
|
├── 2021-07-07.csv
|
|
|
|
|
├── 2021-07-08.csv
|
|
|
|
|
├── 2021-07-09.csv
|
|
|
|
|
├── 2021-07-10.csv
|
|
|
|
|
├── 2021-07-11.csv
|
|
|
|
|
├── 2021-07-12.csv
|
|
|
|
|
├── 2021-07-13.csv
|
|
|
|
|
├── 2021-07-14.csv
|
|
|
|
|
├── 2021-07-15.csv
|
|
|
|
|
├── 2021-07-16.csv
|
|
|
|
|
├── 2021-07-17.csv
|
|
|
|
|
├── 2021-07-18.csv
|
|
|
|
|
├── 2021-07-19.csv
|
|
|
|
|
├── 2021-07-20.csv
|
|
|
|
|
├── 2021-07-21.csv
|
|
|
|
|
├── 2021-07-22.csv
|
|
|
|
|
├── 2021-07-23.csv
|
|
|
|
|
├── 2021-07-24.csv
|
|
|
|
|
├── 2021-07-25.csv
|
|
|
|
|
├── 2021-07-26.csv
|
|
|
|
|
├── 2021-07-27.csv
|
|
|
|
|
├── 2021-07-28.csv
|
|
|
|
|
├── 2021-07-29.csv
|
|
|
|
|
└── 2021-07-30.csv
|
|
|
|
|
|
|
|
|
|
4 directories, 96 files
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
* Files Produced
|
|
|
|
|
|
|
|
|
|
The following files are produces after running both scripts.
|
|
|
|
|
|
|
|
|
|
#+begin_src shell :results code
|
|
|
|
|
ls ../output/lm*-hourly-totals.html
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
#+RESULTS:
|
|
|
|
|
#+begin_src shell
|
|
|
|
|
../output/lm1-hourly-totals.html
|
|
|
|
|
../output/lm2-hourly-totals.html
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
* What the Scripts Do
|
|
|
|
|
|
|
|
|
|
#+begin_quote
|
|
|
|
|
Instead of individually referencing both files, I am going to write this section
|
|
|
|
|
as if =lm1-hourly-totals.py= is the only file. Whilst reading this, assume 'lm1'
|
|
|
|
|
and 'lm2' are interchangeable.
|
|
|
|
|
#+end_quote
|
|
|
|
|
|
|
|
|
|
This script produces a line chart which depicts the total number of readings for
|
|
|
|
|
a given hour across every day the exhibition was running. In other words, the
|
|
|
|
|
chart produced will show the total number of readings taken between
|
|
|
|
|
~08:00~-~09:00~, ~09:00~-~10:00~ and so on, for all twenty-fours of the
|
|
|
|
|
day. Each line in the chart represents a single day and the chart overlays each
|
|
|
|
|
line on top of each other.
|
|
|
|
|
|
|
|
|
|
An example of what the data files look like (used by these scripts) is
|
|
|
|
|
below. The data is from
|
|
|
|
|
=data/light-meter-1-hourly-totals/2021-06/2021-06-24.csv=.
|
|
|
|
|
|
|
|
|
|
#+NAME: 2021-06-24-hour-totals
|
|
|
|
|
| hour | reading |
|
|
|
|
|
|------+---------|
|
|
|
|
|
| 00 | 0 |
|
|
|
|
|
| 01 | 0 |
|
|
|
|
|
| 02 | 0 |
|
|
|
|
|
| 03 | 0 |
|
|
|
|
|
| 04 | 0 |
|
|
|
|
|
| 05 | 0 |
|
|
|
|
|
| 06 | 229 |
|
|
|
|
|
| 07 | 4227 |
|
|
|
|
|
| 08 | 4981 |
|
|
|
|
|
| 09 | 5057 |
|
|
|
|
|
| 10 | 8392 |
|
|
|
|
|
| 11 | 9128 |
|
|
|
|
|
| 12 | 9129 |
|
|
|
|
|
| 13 | 9039 |
|
|
|
|
|
| 14 | 8821 |
|
|
|
|
|
| 15 | 5809 |
|
|
|
|
|
| 16 | 2 |
|
|
|
|
|
| 17 | 0 |
|
|
|
|
|
| 18 | 0 |
|
|
|
|
|
| 19 | 0 |
|
|
|
|
|
| 20 | 0 |
|
|
|
|
|
| 21 | 0 |
|
|
|
|
|
| 22 | 0 |
|
|
|
|
|
| 23 | 0 |
|
|
|
|
|
| 24 | 0 |
|
|
|
|
|
|
|
|
|
|
As you can see, on the 24^th June 2021 (=2021-06-24.csv=), Light Meter 1 took a
|
|
|
|
|
total of =229= readings between the hours of ~06:00~ and ~07:00~. It is this =229= which
|
|
|
|
|
the script plots on the chart.
|
|
|
|
|
|
|
|
|
|
* Examples/Screenshots
|
|
|
|
|
|
|
|
|
|
Below is an example of the type of charts produced.
|
|
|
|
|
|
|
|
|
|
[[file:../assets/lm1-hour-totals.png]]
|