Skip to main content

ChartSeries

Struct ChartSeries 

Source
pub struct ChartSeries {
    pub name: String,
    pub values: Vec<f64>,
    pub x_values: Option<Vec<f64>>,
    pub bubble_sizes: Option<Vec<f64>>,
    pub data_labels: Option<DataLabels>,
    pub secondary_axis: bool,
    pub format: Option<SeriesFormat>,
}
Expand description

数据系列(一条折线 / 一组柱子 / 一组饼图扇区 / 一组散点 / 一组气泡)。

Fields§

§name: String

系列名称(图例上显示)。

§values: Vec<f64>

数值列表,长度应与 ChartData.categories 一致。

对散点图/气泡图,此字段表示 Y 坐标值,需配合 x_values 使用。

§x_values: Option<Vec<f64>>

散点图/气泡图的 X 坐标值列表。仅 ChartType::Scatter / Bubble 使用,长度应与 values 一致。

None 或空表示该系列非 X-Y 坐标图;散点图系列应通过 ChartSeries::new_scatter 构造以同时提供 x_valuesvalues(Y 坐标)。

§bubble_sizes: Option<Vec<f64>>

气泡图的气泡尺寸列表。仅 ChartType::Bubble 使用,长度应与 values 一致。

None 表示非气泡图;气泡图系列应通过 ChartSeries::new_bubble 构造。

§data_labels: Option<DataLabels>

系列级数据标签(<c:dLbls>,写在 <c:ser><c:val> / <c:yVal> 之后)。

系列级配置会覆盖图表级 ChartData::data_labelsNone 表示继承图表级配置。

§secondary_axis: bool

是否将该系列绑定到次坐标轴(右侧 Y 轴)。

  • false(默认):系列绑定主轴(axId=222222222)。
  • true:系列绑定次轴(axId=444444444),Chart::to_xml 会额外写出 次轴定义(含 <c:crosses val="max"/>),PowerPoint 将其显示在右侧。

典型场景:主轴显示柱形图,次轴显示折线图(双轴组合图)。 注意:饼图/散点图/气泡图不支持次坐标轴(写出时该字段被忽略)。

§format: Option<SeriesFormat>

系列样式(<c:spPr>)。None(默认)时不写出,PowerPoint 自动分配主题色。

通过 ChartSeries::new 等构造函数创建的系列默认无样式; 使用 [ChartShape::set_series_format] 或直接设置此字段可指定颜色/填充/边框。

Implementations§

Source§

impl ChartSeries

Source

pub fn new(name: impl Into<String>, values: Vec<f64>) -> Self

新建一个数据系列(非散点图/气泡图)。

values 为 Y 值列表(柱/条/线/面积/雷达图)或扇区数值(饼图)。

Source

pub fn new_scatter( name: impl Into<String>, x_values: Vec<f64>, y_values: Vec<f64>, ) -> Self

新建一个散点图数据系列(提供 X 与 Y 坐标)。

x_valuesy_values 长度应一致;不一致时以较短的为准(写出时按 y_values 长度迭代)。

§参数
  • name:系列名称(图例显示)。
  • x_values:X 坐标列表。
  • y_values:Y 坐标列表(与 ChartSeries::values 同字段)。
Source

pub fn new_bubble( name: impl Into<String>, x_values: Vec<f64>, y_values: Vec<f64>, bubble_sizes: Vec<f64>, ) -> Self

新建一个气泡图数据系列(提供 X、Y 坐标与气泡尺寸)。

三个列表长度应一致;不一致时以 y_values 长度为准迭代。

§参数
  • name:系列名称(图例显示)。
  • x_values:X 坐标列表。
  • y_values:Y 坐标列表(与 ChartSeries::values 同字段)。
  • bubble_sizes:气泡尺寸列表(决定每个气泡的面积)。
Source

pub fn with_format(self, format: SeriesFormat) -> Self

Builder 方法:设置系列样式(颜色/填充/边框),返回 self 便于链式调用。

§参数
  • format:系列样式;None 清除样式(PowerPoint 自动分配主题色)。
§示例
use pptx_rs::oxml::chart::{ChartSeries, SeriesFormat};
use pptx_rs::oxml::color::Color;
use pptx_rs::units::RGBColor;

let s = ChartSeries::new("Sales", vec![10.0, 20.0])
    .with_format(SeriesFormat::solid_fill(Color::RGB(RGBColor(0xFF, 0x00, 0x00))));

Trait Implementations§

Source§

impl Clone for ChartSeries

Source§

fn clone(&self) -> ChartSeries

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ChartSeries

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ChartSeries

Source§

fn default() -> ChartSeries

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V