Skip to content

Resolve #184 #218

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
8696877
Defining axis serializer function
yasuomaidana Aug 2, 2024
d45f901
Defining axes as vector instead of filed items values
yasuomaidana Aug 2, 2024
b39bd4e
Updating layout test to use the new vector axis instead of filed acce…
yasuomaidana Aug 2, 2024
1fc5ab2
Updating themes layout usage signature
yasuomaidana Aug 2, 2024
badc5ad
Merge branch 'main' of https://github.com/plotly/plotly.rs into multi…
yasuomaidana Aug 2, 2024
d3e3ef2
Updating test to new axis definition
yasuomaidana Aug 2, 2024
df4759b
Updating statistical charts example
yasuomaidana Aug 6, 2024
3e910b2
Creating axis builders
yasuomaidana Aug 11, 2024
52e687b
Adding x,y,z add axis to api
yasuomaidana Aug 22, 2024
e53cead
Defining axis serializer function
yasuomaidana Aug 2, 2024
14721ac
Defining axes as vector instead of filed items values
yasuomaidana Aug 2, 2024
8f39f9b
Updating layout test to use the new vector axis instead of filed acce…
yasuomaidana Aug 2, 2024
da083f2
Updating themes layout usage signature
yasuomaidana Aug 2, 2024
b93a5d4
Updating test to new axis definition
yasuomaidana Aug 2, 2024
92fc89c
Updating statistical charts example
yasuomaidana Aug 6, 2024
73657bd
Creating axis builders
yasuomaidana Aug 11, 2024
bb2dfb1
Reducing code complexity
yasuomaidana Oct 23, 2024
99db7dc
Implementing axis and axes setters
yasuomaidana Oct 23, 2024
c0d81e7
Formatting code
yasuomaidana Oct 23, 2024
324111c
Merge remote-tracking branch 'origin/multiples-axis' into multiples-axis
yasuomaidana Oct 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Implementing axis and axes setters
  • Loading branch information
yasuomaidana committed Oct 23, 2024
commit 99db7dc5a91267431dd4564689655cbc9eb84f90
38 changes: 38 additions & 0 deletions plotly/src/layout/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1987,6 +1987,44 @@ impl Layout {
pub fn add_z_axis(&mut self, axis: Axis) {
self.z_axis.get_or_insert_with(|| Vec::new()).push(Some(Box::new(axis)));
}

fn set_axis(axes: &mut Option<Vec<Option<Box<Axis>>>>, index: usize, axis: Axis) -> Result<(), String> {
match axes {
None => Err("No axes found".into()),
Some(axes) => {
if index < axes.len() {
axes[index] = Some(Box::new(axis));
Ok(())
} else {
Err("Index out of bounds".into())
}
}
}
}

pub fn set_x_axis(&mut self, axis_index: u32, axis: Axis) -> Result<(), String> {
Self::set_axis(&mut self.x_axis, axis_index as usize, axis)
}

pub fn set_x_axes(&mut self, axes: Vec<Axis>) {
self.x_axis = Some(axes.into_iter().map(|axis| Some(Box::new(axis))).collect());
}

pub fn set_y_axis(&mut self, axis_index: u32, axis: Axis) -> Result<(), String> {
Self::set_axis(&mut self.y_axis, axis_index as usize, axis)
}

pub fn set_y_axes(&mut self, axes: Vec<Axis>) {
self.y_axis = Some(axes.into_iter().map(|axis| Some(Box::new(axis))).collect());
}

pub fn set_z_axis(&mut self, axis_index: u32, axis: Axis) -> Result<(), String> {
Self::set_axis(&mut self.z_axis, axis_index as usize, axis)
}

pub fn set_z_axes(&mut self, axes: Vec<Axis>) {
self.z_axis = Some(axes.into_iter().map(|axis| Some(Box::new(axis))).collect());
}
}

#[cfg(test)]
Expand Down