Charts: Difference between revisions

4,149 bytes added ,  30 March 2021
no edit summary
No edit summary
<big>'''Under construction'''</big>
== Introduction ==
{|align=right
|__TOC__
|}
 
One of the most important modules of ''CumulusUtils'' is the charting module as it gives insight in in your weather data. A picture says more than a thousand words. The charting is subdivided in four sections: Rain charts, Temperature charts, Solar charts and Wind charts.
 
== Inner working ==
=== Algorithmic ===
The output files are HTML UTF8 format. All javascript is included in <script> tags so these are not pure javascript libraries. For each output file the javascript menu is written. When finished the Highcharts lib includes are written IF the modules are not meant to be used in the ''CumulusUtils'' [[Website Generator]].
When finished the Highcharts lib include specifications are written IF the modules are not meant to be used in the ''CumulusUtils'' [[Website Generator]] which has the specifications by itself.
 
When menu and includes are ready, all required graphs are generated together with their data. Code generation and data selection is a one pass process.
 
=== Defaults, Colours and Language ===
 
=== How the parameters work ===
There is only a limited number of parameters which influence the behaviour and display of the graph. Those parameters aree described below:
==== UseHighchartsBoostModule ====
For some charts like the scatter (Wind direction) and the heatmap, Highcharts makes use of a boost technique (library: https://code.highcharts.com/modules/boost.js). However this does not work on some browsers on some older graphic cards. If you do not see the chart, please set this parameter to false. It may slow down the drawing of the chart, but you will see it.
 
==== UseNormalTempReference ====
This parameter has effect on the ''Monthly Temperature'' chart.
 
CumulusMX has the possibility to refer to the normal values valid for the location of the weather station. The user has to fill those in the CumulusMX inifile parameter section [NOAA] in the parameters ''NOAATempNormJan'' and ''NOAARainNormJan'' (for all months). When filled in those values appear in the ''Monthly Rain'' and ''Monthly Temperature'' graphs. If they are not specified the value -1000 is shown which heavily debalances the chart.
 
When Normal values are not available, the user may choose to display ''StationAverage'' for those charts. StationAverage also displays the unbiased estimator of the variance (standard deviation) around the average of the observations.
 
When setting the parameter to both the obvious thing happens: both the Normal and the StationAverage are displayed along with the actual observations.
 
==== UseNormalRainReference====
This parameter has effect on the ''Monthly Rain'' chart.
 
The functional behaviour of this parameter is similar to the above.
 
==== MaxNrOfSeriesVisibileInGraph ====
This parameter has effect in both ''Monthly Temperature'' and ''Monthly Rain''.
 
A high number of series shown can severely clutter the chart. Therefore the user can limit the number of lines initially made visible.
When the chart is on screen, the user can click on the legend to show additional charts.
 
====PeriodMovingAverage ====
This parameter has effect on the ''Daily Rain'' chart.
 
The running average as shown in the ''Daily Rain'' chart shows a [https://en.wikipedia.org/wiki/Moving_average#Simple_moving_average_(boxcar_filter) Simple Moving Average]. The period of that moving average - or the number of days in the current value of the moving average - can be set through this parameter.
 
==== WindRoseNrOfWindforceClasses & WindRoseMaxWindSpeed ====
This parameters have effect on the ''Wind Rose'' chart.
 
Because wind differs highly with location and above all also with unit used it is necessary to make a meaningful division of the legend.
The WindRoseMaxWindSpeed gives the highest wind speed class. All higher wind speed will be counted as higher the and will not be subdivided.
The WindRoseNrOfWindforceClasses gives the number of classes where the winds lower than WindRoseMaxWindSpeed will be subdivided. So if the max wind speed is 60 km/h and the number of classes is 6 you get a class width of 10 km/h. But if you use the same numbers for m/s or mph you get completely different graphs. So it is the unit and the local conditions which determine the numbers you have to use.
 
A wind silence (Calm, 0 km/h) is an always present class and thus not counted in the calculation as above.
 
==== WindRoseInversed====
This parameters have effect on the ''Wind Rose'' chart.
 
This parameter determines the order of the legend (and the stacking of the values in the rose.
 
==== WindrunClassWidth
This parameters have effect on the ''Windrun'' chart.
 
With the same arguments as with the WindRose chart, the Windrun chart requires some configuration because of unit and local situation. To give the chart meaning a class width which shows but not clutters is best. It is also personal taste which counts.
 
==== HeatmapNumberOfYearsPerPage
The heatmap does get a bit compressed when the series get longer. If more than ten years are available the years are split up in pages and buttons appear to switch between pages or display all data. This has to do with taste.
 
[[Category:CumulusUtils]]