Skip to content

Commit d45f901

Browse files
committed
Defining axes as vector instead of filed items values
1 parent 8696877 commit d45f901

File tree

1 file changed

+11
-82
lines changed

1 file changed

+11
-82
lines changed

plotly/src/layout/mod.rs

Lines changed: 11 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ pub mod themes;
22
pub mod update_menu;
33

44
use std::borrow::Cow;
5-
5+
use std::collections::HashMap;
66
use plotly_derive::FieldSetter;
77
use serde::{Serialize, Serializer};
88
use update_menu::UpdateMenu;
@@ -1743,38 +1743,10 @@ pub struct LayoutTemplate {
17431743
grid: Option<LayoutGrid>,
17441744
calendar: Option<Calendar>,
17451745

1746-
#[serde(rename = "xaxis")]
1747-
x_axis: Option<Box<Axis>>,
1748-
#[serde(rename = "yaxis")]
1749-
y_axis: Option<Box<Axis>>,
1750-
#[serde(rename = "xaxis2")]
1751-
x_axis2: Option<Box<Axis>>,
1752-
#[serde(rename = "yaxis2")]
1753-
y_axis2: Option<Box<Axis>>,
1754-
#[serde(rename = "xaxis3")]
1755-
x_axis3: Option<Box<Axis>>,
1756-
#[serde(rename = "yaxis3")]
1757-
y_axis3: Option<Box<Axis>>,
1758-
#[serde(rename = "xaxis4")]
1759-
x_axis4: Option<Box<Axis>>,
1760-
#[serde(rename = "yaxis4")]
1761-
y_axis4: Option<Box<Axis>>,
1762-
#[serde(rename = "xaxis5")]
1763-
x_axis5: Option<Box<Axis>>,
1764-
#[serde(rename = "yaxis5")]
1765-
y_axis5: Option<Box<Axis>>,
1766-
#[serde(rename = "xaxis6")]
1767-
x_axis6: Option<Box<Axis>>,
1768-
#[serde(rename = "yaxis6")]
1769-
y_axis6: Option<Box<Axis>>,
1770-
#[serde(rename = "xaxis7")]
1771-
x_axis7: Option<Box<Axis>>,
1772-
#[serde(rename = "yaxis7")]
1773-
y_axis7: Option<Box<Axis>>,
1774-
#[serde(rename = "xaxis8")]
1775-
x_axis8: Option<Box<Axis>>,
1776-
#[serde(rename = "yaxis8")]
1777-
y_axis8: Option<Box<Axis>>,
1746+
#[serde(flatten, serialize_with="serialize_x_axes")]
1747+
x_axis: Option<Vec<Option<Box<Axis>>>>,
1748+
#[serde(flatten, serialize_with="serialize_y_axes")]
1749+
y_axis: Option<Vec<Option<Box<Axis>>>>,
17781750

17791751
// ternary: Option<LayoutTernary>,
17801752
scene: Option<LayoutScene>,
@@ -1910,55 +1882,12 @@ pub struct Layout {
19101882
grid: Option<LayoutGrid>,
19111883
calendar: Option<Calendar>,
19121884

1913-
#[serde(rename = "xaxis")]
1914-
x_axis: Option<Box<Axis>>,
1915-
#[serde(rename = "yaxis")]
1916-
y_axis: Option<Box<Axis>>,
1917-
#[serde(rename = "zaxis")]
1918-
z_axis: Option<Box<Axis>>,
1919-
1920-
#[serde(rename = "xaxis2")]
1921-
x_axis2: Option<Box<Axis>>,
1922-
#[serde(rename = "yaxis2")]
1923-
y_axis2: Option<Box<Axis>>,
1924-
#[serde(rename = "zaxis2")]
1925-
z_axis2: Option<Box<Axis>>,
1926-
#[serde(rename = "xaxis3")]
1927-
x_axis3: Option<Box<Axis>>,
1928-
#[serde(rename = "yaxis3")]
1929-
y_axis3: Option<Box<Axis>>,
1930-
#[serde(rename = "zaxis3")]
1931-
z_axis3: Option<Box<Axis>>,
1932-
#[serde(rename = "xaxis4")]
1933-
x_axis4: Option<Box<Axis>>,
1934-
#[serde(rename = "yaxis4")]
1935-
y_axis4: Option<Box<Axis>>,
1936-
#[serde(rename = "zaxis4")]
1937-
z_axis4: Option<Box<Axis>>,
1938-
#[serde(rename = "xaxis5")]
1939-
x_axis5: Option<Box<Axis>>,
1940-
#[serde(rename = "yaxis5")]
1941-
y_axis5: Option<Box<Axis>>,
1942-
#[serde(rename = "zaxis5")]
1943-
z_axis5: Option<Box<Axis>>,
1944-
#[serde(rename = "xaxis6")]
1945-
x_axis6: Option<Box<Axis>>,
1946-
#[serde(rename = "yaxis6")]
1947-
y_axis6: Option<Box<Axis>>,
1948-
#[serde(rename = "zaxis6")]
1949-
z_axis6: Option<Box<Axis>>,
1950-
#[serde(rename = "xaxis7")]
1951-
x_axis7: Option<Box<Axis>>,
1952-
#[serde(rename = "yaxis7")]
1953-
y_axis7: Option<Box<Axis>>,
1954-
#[serde(rename = "zaxis7")]
1955-
z_axis7: Option<Box<Axis>>,
1956-
#[serde(rename = "xaxis8")]
1957-
x_axis8: Option<Box<Axis>>,
1958-
#[serde(rename = "yaxis8")]
1959-
y_axis8: Option<Box<Axis>>,
1960-
#[serde(rename = "zaxis8")]
1961-
z_axis8: Option<Box<Axis>>,
1885+
#[serde(flatten, serialize_with="serialize_x_axes")]
1886+
x_axis: Option<Vec<Option<Box<Axis>>>>,
1887+
#[serde(flatten, serialize_with="serialize_y_axes")]
1888+
y_axis: Option<Vec<Option<Box<Axis>>>>,
1889+
#[serde(flatten, serialize_with="serialize_z_axes")]
1890+
z_axis: Option<Vec<Option<Box<Axis>>>>,
19621891

19631892
// ternary: Option<LayoutTernary>,
19641893
scene: Option<LayoutScene>,

0 commit comments

Comments
 (0)