Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

ShapeFormat Interface

Contains options used to format chart elements.

Namespace: DevExpress.Spreadsheet.Charts

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

NuGet Package: DevExpress.Spreadsheet.Core

#Declaration

public interface ShapeFormat :
    ShapeFormatBase

The following members return ShapeFormat objects:

#Remarks

All interfaces that represent chart elements (Chart, PlotArea, Series, Axis, etc.) inherit formatting options from the ShapeFormat interface, so you can use them to change the chart appearance. Use the ShapeFormat.ResetToMatchStyle method to apply the default formatting to a chart element based on the chart style.

#Example

The example below demonstrates how to create a clustered column chart and adjust its appearance. First, add the chart title and change the font color via the ShapeTextFont.Color property. Make the plot area transparent by using the ShapeOutlineFill.SetNoFill method, and then apply the gradient fill to the chart area by utilizing the ShapeOutlineFill.SetGradientFill method. To set the picture fill for all columns in a chart, call the ShapeFill.SetPictureFill method for a series object. Finally, change the color of the primary axes by utilizing the ShapeOutlineFill.SetSolidFill method and specify the axis width via the ShapeOutline.Width property.

View Example: Spreadsheet Chart API

Worksheet worksheet = workbook.Worksheets["chartTask7"];
workbook.Worksheets.ActiveWorksheet = worksheet;

// Create a chart and specify its location.
Chart chart = worksheet.Charts.Add(ChartType.ColumnClustered, worksheet["B2:C8"]);
chart.TopLeftCell = worksheet.Cells["F2"];
chart.BottomRightCell = worksheet.Cells["N17"];

// Add and format the chart title.
chart.Title.SetValue("Countries with the largest forest area");
chart.Title.Font.Color = Color.FromArgb(0x34, 0x5E, 0x25);

// Set no fill for the plot area.
chart.PlotArea.Fill.SetNoFill();

// Apply the gradient fill to the chart area.
chart.Fill.SetGradientFill(ShapeGradientType.Linear, Color.FromArgb(0xFD, 0xEA, 0xDA), Color.FromArgb(0x77, 0x93, 0x3C));
ShapeGradientFill gradientFill = chart.Fill.GradientFill;
gradientFill.Stops.Add(0.78f, Color.FromArgb(0xB7, 0xDE, 0xE8));
gradientFill.Angle = 90;

// Set the picture fill for the data series.
chart.Series[0].Fill.SetPictureFill("Pictures\\PictureFill.png");

// Customize the axis appearance.
AxisCollection axisCollection = chart.PrimaryAxes;
foreach (Axis axis in axisCollection)
{
    axis.MajorTickMarks = AxisTickMarks.None;
    axis.Outline.SetSolidFill(Color.FromArgb(0x34, 0x5E, 0x25));
    axis.Outline.Width = 1.25;
}
// Change the scale of the value axis.
Axis valueAxis = axisCollection[1];
valueAxis.Scaling.AutoMax = false;
valueAxis.Scaling.Max = 8000000;
valueAxis.Scaling.AutoMin = false;
valueAxis.Scaling.Min = 0;
// Specify display units for the value axis.
valueAxis.DisplayUnits.UnitType = DisplayUnitType.Thousands;
valueAxis.DisplayUnits.ShowLabel = true;

// Hide the legend.
chart.Legend.Visible = false;
See Also