fruxefarms / FruxePi

Indoor farming software using the Raspberry Pi
https://docs.fruxe.co
Other
142 stars 41 forks source link

Chart - Feature Enhancement #29

Open dcaud opened 5 years ago

dcaud commented 5 years ago

I have grandiose ideas about how to make the charts on the dashboard more user friendly and informative. Here's some:

  1. Switch the direction of the x-axis, so that later in time appears on the right. Here's an example.
  2. Remove the seconds on the x-axis -- less data is less confusing.
  3. Remove the year on the x-axis.
  4. For U.S. Americans, the most common date format is MM-DD (e.g., Mar. 20). Time format is almost always 12-hour (with AM and PM, e.g., 10:30pm). Having the ability to change the date/time format to "American" would be ideal...but I'm not sure that make sense.
  5. Separate temperature and humidity onto different charts -- overlapping the data, as currently is the case, makes it difficult to read because there are 2 y-axis labels. I'd put temperature above and humidity below. Here's an example.
  6. Reduce the vertical size of the charts to about 3/5 of the current height.
  7. Add additional charts (maybe with a checkbox to select the relevant ones): -- soil moisture over time just like temp and humidity -- off and on status change of fans (e.g. Fan turned on at 10am, was off at noon, was back on at 5pm and is currently on). -- same for lights -- same for pump
  8. Add the ability to select a historical date range (for example, March 1 thru March 7) -- (and even a future date range to see the schedule for the lights, fans, and pumps).

If there is a desire to make some of these changes, I'm not sure the best technical approach. I'm familiar with a couple packages that could do the above with stock features (e.g., Google Data Studios, Shiny/R). Those products are free and allow embedding...and Google Data Studios may be the easiest...but would require setting up an account and sending data from the Pi to a third-party website. Python also has a ggplot library that I could probably make work on the Pi. I'm not familiar with Chart.js, but a quick glance at what they offer suggests it would be difficult to create a super interactive "dashboard" with it. But since that's already working, it may be best!

Lastly, my chart still isn't updating, so that may be a priority.

fruxefarms commented 5 years ago

I think possibly including a reporting page with more data sorting and analysis should be created. The chart already displays poorly on mobile so I will downgrade the data and separate into two charts for that.