Aspose::Words::Drawing::Charts::ChartXValueCollection class

ChartXValueCollection class

Represents a collection of X values for a chart series.

class ChartXValueCollection : public System::Collections::Generic::IEnumerable<System::SharedPtr<Aspose::Words::Drawing::Charts::ChartXValue>>

Methods

MethodDescription
get_Count()Gets the number of items in this collection.
get_FormatCode()Gets or sets the format code applied to the X values.
GetEnumerator() overrideReturns an enumerator object.
GetType() const override
idx_get(int32_t)Gets or sets the X value at the specified index.
idx_set(int32_t, const System::SharedPtr<Aspose::Words::Drawing::Charts::ChartXValue>&)Gets or sets the X value at the specified index.
Is(const System::TypeInfo&) const override
set_FormatCode(const System::String&)Setter for Aspose::Words::Drawing::Charts::ChartXValueCollection::get_FormatCode.
static Type()

Remarks

All items of the collection other than null must have the same ValueType.

The collection allows only changing X values. To add or insert new values to a chart series, or remove values, the appropriate methods of the ChartSeries class can be used.

Examples

Shows how to get chart series data.

auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>();

System::SharedPtr<Aspose::Words::Drawing::Shape> shape = builder->InsertChart(Aspose::Words::Drawing::Charts::ChartType::Column, 432, 252);
System::SharedPtr<Aspose::Words::Drawing::Charts::Chart> chart = shape->get_Chart();
System::SharedPtr<Aspose::Words::Drawing::Charts::ChartSeries> series = chart->get_Series()->idx_get(0);

double minValue = std::numeric_limits<double>::max();
int32_t minValueIndex = 0;
double maxValue = std::numeric_limits<double>::lowest();
int32_t maxValueIndex = 0;

for (int32_t i = 0; i < series->get_YValues()->get_Count(); i++)
{
    // Clear individual format of all data points.
    // Data points and data values are one-to-one in column charts.
    series->get_DataPoints()->idx_get(i)->ClearFormat();

    // Get Y value.
    double yValue = series->get_YValues()->idx_get(i)->get_DoubleValue();

    if (yValue < minValue)
    {
        minValue = yValue;
        minValueIndex = i;
    }

    if (yValue > maxValue)
    {
        maxValue = yValue;
        maxValueIndex = i;
    }
}

// Change colors of the max and min values.
series->get_DataPoints()->idx_get(minValueIndex)->get_Format()->get_Fill()->set_ForeColor(System::Drawing::Color::get_Red());
series->get_DataPoints()->idx_get(maxValueIndex)->get_Format()->get_Fill()->set_ForeColor(System::Drawing::Color::get_Green());

doc->Save(get_ArtifactsDir() + u"Charts.GetChartSeriesData.docx");

See Also