Skip to content

Commit

Permalink
Added windRose_legend_show_units to hide the units in the windRose …
Browse files Browse the repository at this point in the history
…legend. GH-249
  • Loading branch information
Daveiano committed Feb 6, 2024
1 parent b862716 commit 5d02c9e
Show file tree
Hide file tree
Showing 17 changed files with 67 additions and 35 deletions.
36 changes: 20 additions & 16 deletions bin/user/weewx_wdc.py
Original file line number Diff line number Diff line change
Expand Up @@ -363,12 +363,11 @@ def format_raw_value(self, value, obs):
obs (string): The observation
"""
target_unit_t = self.generator.converter.getTargetUnit(
obs_type=obs)
obs_type=obs)
value_vt = (value, target_unit_t[0], target_unit_t[1])

return ValueHelper(value_t=value_vt, formatter=self.generator.formatter)


def get_software_obs(self):
"""
Get the observations provided by software (weewx calculations), was
Expand Down Expand Up @@ -1985,6 +1984,11 @@ def get_windrose_data(self, start_ts, end_ts, context):
except KeyError:
show_beaufort = False

try:
show_legend_units = to_bool(self.generator.skin_dict["DisplayOptions"]["windRose_legend_show_units"])
except KeyError:
show_legend_units = True

db_manager = self.generator.db_binder.get_manager(
data_binding=search_up(
self.generator.config_dict["StdReport"]["WdcReport"], "data_binding", "wx_binding"))
Expand All @@ -2008,53 +2012,53 @@ def get_windrose_data(self, start_ts, end_ts, context):
wind_upper_vt = self.generator.converter.convert(
(5, "km_per_hour", "group_speed"))
name = ValueHelper(
value_t=wind_upper_vt, formatter=self.generator.formatter).format()
value_t=wind_upper_vt, formatter=self.generator.formatter).format(add_label=show_legend_units)
# Bft 2
elif i == 1:
wind_lower_vt = self.generator.converter.convert(
(6, "km_per_hour", "group_speed"))
wind_upper_vt = self.generator.converter.convert(
(11, "km_per_hour", "group_speed"))
name = ValueHelper(value_t=wind_lower_vt,
formatter=self.generator.formatter).format(
) + " - " + ValueHelper(value_t=wind_upper_vt,
formatter=self.generator.formatter).format()
formatter=self.generator.formatter).format(add_label=show_legend_units
) + " - " + ValueHelper(value_t=wind_upper_vt,
formatter=self.generator.formatter).format(add_label=show_legend_units)
# Bft 3
elif i == 2:
wind_lower_vt = self.generator.converter.convert(
(12, "km_per_hour", "group_speed"))
wind_upper_vt = self.generator.converter.convert(
(19, "km_per_hour", "group_speed"))
name = ValueHelper(value_t=wind_lower_vt,
formatter=self.generator.formatter).format(
) + " - " + ValueHelper(value_t=wind_upper_vt,
formatter=self.generator.formatter).format()
formatter=self.generator.formatter).format(add_label=show_legend_units
) + " - " + ValueHelper(value_t=wind_upper_vt,
formatter=self.generator.formatter).format(add_label=show_legend_units)
# Bft 4
elif i == 3:
wind_lower_vt = self.generator.converter.convert(
(20, "km_per_hour", "group_speed"))
wind_upper_vt = self.generator.converter.convert(
(28, "km_per_hour", "group_speed"))
name = ValueHelper(value_t=wind_lower_vt,
formatter=self.generator.formatter).format(
) + " - " + ValueHelper(value_t=wind_upper_vt,
formatter=self.generator.formatter).format()
formatter=self.generator.formatter).format(add_label=show_legend_units
) + " - " + ValueHelper(value_t=wind_upper_vt,
formatter=self.generator.formatter).format(add_label=show_legend_units)
# Bft 5
elif i == 4:
wind_lower_vt = self.generator.converter.convert(
(29, "km_per_hour", "group_speed"))
wind_upper_vt = self.generator.converter.convert(
(38, "km_per_hour", "group_speed"))
name = ValueHelper(value_t=wind_lower_vt,
formatter=self.generator.formatter).format(
) + " - " + ValueHelper(value_t=wind_upper_vt,
formatter=self.generator.formatter).format()
formatter=self.generator.formatter).format(add_label=show_legend_units
) + " - " + ValueHelper(value_t=wind_upper_vt,
formatter=self.generator.formatter).format(add_label=show_legend_units)
# Bft 6 and higher
elif i == 5:
wind_lower_vt = self.generator.converter.convert(
(39, "km_per_hour", "group_speed"))
name = ValueHelper(
value_t=wind_lower_vt, formatter=self.generator.formatter).format()
value_t=wind_lower_vt, formatter=self.generator.formatter).format(add_label=show_legend_units)

windrose_data.append(
{
Expand Down
3 changes: 2 additions & 1 deletion changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -765,4 +765,5 @@ See https://github.com/Daveiano/weewx-wdc/compare/v3.3.0...580071ca175a03fe4924b
- Updated sorting of min/max graphs in the `temp_min_max_avg` graph GH-247
- Added new property for charts: `legendPosition` - Change legend position GH-228
- Added option to set default theme (light/dark/auto) GH-241
- added per-month statistic tables GH-215
- Added per-month statistic tables GH-215
- Added `windRose_legend_show_units` to hide the units in the windRose legend GH-249
12 changes: 3 additions & 9 deletions skins/weewx-wdc/includes/diagram-tile-wind-rose.inc
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<!--prettier-ignore-->
#errorCatcher Echo
#encoding UTF-8
#set diagram_classes = "bx--col-sm-4 bx--col-md-8 bx--col-lg-12 bx--col-xlg-6 bx--col-max-4"
Expand All @@ -10,7 +9,6 @@
<div class="bx--tile diagram-tile" data-test="windrose">
<div class="bx--row">
<div class="bx--col">
<!--prettier-ignore-->
<p class="label">
#set $icon = $get_icon("windDir", $use_diagram_config=True, $context=$context)
#if $icon != 'none' and "includes/icons/" in $icon and '.svg' in $icon
Expand All @@ -21,24 +19,18 @@
$obs.label["windDir"]
</p>
<div class="value">
<!--prettier-ignore-->
#set $series_name = $partial_obs + 'Series' + str($diagram_index)

<!--prettier-ignore-->
#if $context == 'month' and $use_parameter_month
<script>
/* prettier-ignore */
var $series_name = $get_windrose_data($month.start.raw, $month.end.raw, $context)
</script>
<!--prettier-ignore-->
#else if $context == 'year' and $use_parameter_year
<script>
/* prettier-ignore */
var $series_name = $get_windrose_data($year.start.raw, $year.end.raw, $context)
</script>
#else
<script>
/* prettier-ignore */
#set $time_span = $get_time_span_from_context($context, $day, $week, $month, $year, $alltime, $yesterday)
var $series_name = $get_windrose_data($time_span.start.raw, $time_span.end.raw, $context)
</script>
Expand All @@ -49,12 +41,14 @@
data-labels="['$obs.label[$partial_obs]']"
data-color="['$get_color($partial_obs, $context)']"
data-value="$series_name"
data-unit="$getattr($unit.label, $partial_obs)"
data-unit="$getattr($unit.label, 'windSpeed')"
data-obs="$partial_obs"
data-diagram="$get_diagram($partial_obs, $context)"
data-context="$context"
data-aggregate-type="['$get_aggregate_type($partial_obs, $context)']"
data-nivo-props="$get_diagram_props($partial_obs, $context)"
data-show-legend-unit="$DisplayOptions.get('windRose_legend_show_units', False)"
data-show-beaufort="$DisplayOptions.get('windRose_show_beaufort', True)"
></div>
</div>
</div>
Expand Down
1 change: 1 addition & 0 deletions skins/weewx-wdc/skin.conf
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ SKIN_VERSION = 3.5.0-alpha1
# Windrose.
windRose_colors = "#f3cec9", "#e7a4b6", "#cd7eaf", "#a262a9", "#6f4d96", "#3d3b72"
windRose_show_beaufort = True
windRose_legend_show_units = True

# Climatogram on year and statistics pages.
climatogram_enable_stats = True
Expand Down
3 changes: 3 additions & 0 deletions skins/weewx-wdc/src/js/diagrams/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ type TooltipProps = {

type WindRoseProps = {
data: any[];
unit: string;
showLegendUnits: boolean;
showBeaufort: boolean;
};

// @todo What is this?
Expand Down
6 changes: 6 additions & 0 deletions skins/weewx-wdc/src/js/diagrams/windrose.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,12 @@ export const WindRoseDiagram: FunctionComponent<WindRoseProps> = (
//orientation: "v",
x: -0.5,
y: 0.5,
title:
!props.showLegendUnits && !props.showBeaufort
? {
text: ` in ${props.unit}:`,
}
: undefined,
},
autosize: true,
margin: {
Expand Down
12 changes: 10 additions & 2 deletions skins/weewx-wdc/src/js/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -244,10 +244,18 @@ plotlyDiagrams.forEach((plotyDiagram) => {
if (
plotyDiagram.classList.contains("windrose") &&
plotyDiagram instanceof HTMLElement &&
plotyDiagram.dataset.value
plotyDiagram.dataset.value &&
plotyDiagram.dataset.unit &&
plotyDiagram.dataset.showLegendUnit &&
plotyDiagram.dataset.showBeaufort
) {
root.render(
<WindRoseDiagram data={(window as any)[plotyDiagram.dataset.value]} />
<WindRoseDiagram
data={(window as any)[plotyDiagram.dataset.value]}
unit={plotyDiagram.dataset.unit}
showLegendUnits={plotyDiagram.dataset.showLegendUnit === "True"}
showBeaufort={plotyDiagram.dataset.showBeaufort === "True"}
/>
);
}
});
Expand Down
17 changes: 17 additions & 0 deletions test/e2e-tests/diagrams/diagrams.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,23 @@ test.describe("Diagrams", () => {
await expect(windrose).toHaveScreenshot();
});

test("Windrose with non-beaufort untis and without unit labels", async ({
page,
}) => {
await page.goto("artifacts-mqtt-weewx-html/public_html/index.html");

const windrose = page.locator(".diagram-tile[data-test='windrose']");
expect(
await windrose.locator(".value script").innerText()
).toMatchSnapshot();

await expect(windrose.locator(".legendtitletext").first()).toContainText(
"in km/h"
);

await expect(windrose).toHaveScreenshot();
});

test("Custom aggregate_interval", async ({ page }) => {
await page.goto("artifacts-custom-weewx-html/public_html/index.html");
const cloudbase = page.locator(".diagram-tile[data-test='cloudbase']");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

/* prettier-ignore */
var windRoseSeries6 = [{'r': [0, 0, 0, 0, 38, 0, 38, 25, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '<= Beaufort 1', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 2', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 3', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 4', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 5', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '>= Beaufort 6', 'type': 'barpolar'}]

Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

/* prettier-ignore */
var windRoseSeries6 = [{'r': [0, 0, 0, 0, 0, 4, 13, 31, 8, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '<= Beaufort 1', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 4, 6, 4, 12, 17, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 2', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 3', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 4', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 5', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '>= Beaufort 6', 'type': 'barpolar'}]

Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

/* prettier-ignore */
var windRoseSeries7 = [{'r': [0, 0, 0, 0, 0, 3, 6, 14, 11, 11, 2, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '<= Beaufort 1', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 7, 1, 0, 2, 9, 11, 16, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 2', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 3', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 4', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 5', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '>= Beaufort 6', 'type': 'barpolar'}]

Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

/* prettier-ignore */
var windRoseSeries7 = [{'r': [0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '<= Beaufort 1', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 1, 10, 2, 2, 5, 6, 1, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 2', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 1, 2, 2, 6, 1, 2, 7, 6, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 3', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 5, 1, 0, 1, 0, 0, 5, 13, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 4', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 5', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '>= Beaufort 6', 'type': 'barpolar'}]

Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

/* prettier-ignore */
var windRoseSeries7 = [{'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '<= Beaufort 1', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 5, 3, 0, 2, 0, 0, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 2', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 2, 3, 6, 2, 10, 8, 6, 0, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 3', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 5, 2, 2, 3, 3, 5, 5, 8, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 4', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 11, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': 'Beaufort 5', 'type': 'barpolar'}, {'r': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], 'hovertemplate': '%{theta}, %{r}%', 'theta': ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'], 'name': '>= Beaufort 6', 'type': 'barpolar'}]

Loading

0 comments on commit 5d02c9e

Please sign in to comment.