Skip to main content

ChartObject.ChangeType(ChartType) Method

Changes the type of the chart.

Namespace: DevExpress.Spreadsheet.Charts

Assembly: DevExpress.Spreadsheet.v24.1.Core.dll

NuGet Package: DevExpress.Spreadsheet.Core

Declaration

void ChangeType(
    ChartType chartType
)

Parameters

Name Type Description
chartType ChartType

A ChartType enumeration member that specifies the chart type.

Remarks

The ChangeType method attempts to create a new chart of the specified type, apply settings obtained from the existing chart and substitute the current chart with a new one. If the method fails, an exception is thrown.

The example below demonstrates how to create a chart of the ChartType.PieExploded type. After that, the code attempts to change the chart type to ChartType.LineMarker using the ChartObject.ChangeType method. If you try to change the chart type to ChartType.StockHighLowClose (this line is commented), an exception will be thrown, because the data range is insufficient for this chart type, and the chart will be changed to ChartType.ColumnClustered.

View Example

Worksheet worksheet = workbook.Worksheets["chartTask1"];
workbook.Worksheets.ActiveWorksheet = worksheet;
ChartType type1 = ChartType.LineMarker;
// If a new chart type cannot be created with existing data, an exception is thrown.
//ChartType type1 = ChartType.StockHighLowClose;
ChartType type2 = ChartType.ColumnClustered;

// Create a chart and specify its location
Chart chart = worksheet.Charts.Add(ChartType.PieExploded, worksheet["B2:C7"]);

// Change the chart type. 
try
{
    chart.ChangeType(type1);
}
catch (Exception e)
{
    MessageBox.Show(e.Message, "Incompatible chart type");
    chart.ChangeType(type2);
}

The following code snippets (auto-collected from DevExpress Examples) contain references to the ChangeType(ChartType) method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also