Project

ChartForgeX

Render deterministic charts, dashboards, topology, hierarchy, and report visuals directly from .NET.

Stars 47
Forks 2
NuGet downloads 75,067
Release ChartForgeX-v2.0.0
Language: HTML Updated: 2026-10-12

API Reference

Class

ChartOptions

Namespace ChartForgeX.Core
Assembly ChartForgeX
Modifiers sealed

Defines renderer-independent options for a chart.

Inheritance

  • Object
  • ChartOptions

Usage

Explore 1 API references to this type

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Returned or exposed by 1

Constructors

public ChartOptions() #

Methods

public TextStyleOverride GetTextStyle(ChartTextRole role) #
Returns: TextStyleOverride

Gets the text style for the requested role.

Parameters

role ChartForgeX.Core.ChartTextRole requiredposition: 0

Properties

public ChartValueFormat ValueFormat { get; set; } #

Gets or sets the shared numeric display policy. Existing chart defaults retain grouped values below ten thousand.

public ChartGaugeOptions Gauge { get; } #

Gets gauge anatomy, target and band settings.

public ChartAxis XAxis { get; } #

Gets the primary horizontal axis.

public ChartAxis YAxis { get; } #

Gets the primary vertical axis.

public ChartAxis SecondaryYAxis { get; } #

Gets the secondary vertical axis.

public Boolean ShowAxes { get; set; } #

Gets or sets a value indicating whether axes, labels, and titles are rendered.

public Boolean ShowXAxis { get; set; } #

Gets or sets legacy x-axis visibility through ChartOptions.XAxis.

public Boolean ShowYAxis { get; set; } #

Gets or sets legacy y-axis visibility through ChartOptions.YAxis.

public Boolean ShowAxisLines { get; set; } #

Gets or sets axis-rule visibility for every configured axis.

public Int32 TickCount { get; set; } #

Gets or sets the shared legacy tick count for every axis.

public ChartLabelDensity XAxisLabelDensity { get; set; } #

Gets or sets x-axis label density.

public ChartLabelDensity YAxisLabelDensity { get; set; } #

Gets or sets y-axis label density.

public Double XAxisLabelAngle { get; set; } #

Gets or sets x-axis label rotation.

public Double? XAxisMinimum { get; set; } #

Gets or sets the explicit x-axis minimum.

public Double? XAxisMaximum { get; set; } #

Gets or sets the explicit x-axis maximum.

public Double? YAxisMinimum { get; set; } #

Gets or sets the explicit y-axis minimum.

public Double? YAxisMaximum { get; set; } #

Gets or sets the explicit y-axis maximum.

public Double? SecondaryYAxisMinimum { get; set; } #

Gets or sets the explicit secondary y-axis minimum.

public Double? SecondaryYAxisMaximum { get; set; } #

Gets or sets the explicit secondary y-axis maximum.

public Func<Double, String>? SecondaryYAxisValueFormatter { get; set; } #

Gets or sets the secondary y-axis label formatter.

public Func<Double, String>? XAxisValueFormatter { get; set; } #

Gets or sets the x-axis label formatter.

public List<ChartAxisLabel> XAxisLabels { get; } #

Gets explicit x-axis labels.

public Dictionary<Double, ChartColor> XAxisLabelHighlights { get; } #

Gets x-axis tick label highlight colors keyed by axis value.

public ChartBarMode BarMode { get; set; } #

Gets or sets how multiple bar series are arranged within each category.

public ChartBarStyle BarStyle { get; set; } #

Gets or sets the visual treatment used by bar and horizontal-bar renderers.

public ChartBarVisualStyle BarVisualStyle { get; set; } #

Gets or sets reusable visual tokens for bar and horizontal-bar renderers.

public ChartGridLineStyle GridLineStyle { get; set; } #

Gets or sets reusable visual tokens for cartesian grid and guide lines.

public Boolean ShowStackTotals { get; set; } #

Gets or sets a value indicating whether stacked bar totals are rendered above each category.

public ChartBubbleOptions Bubble { get; } #

Gets the shared source-size domain and logical radius options for bubble series.

public Double? CalendarCellSize { get; set; } #

Gets or sets a preferred calendar heatmap cell size in pixels. It is used when it fits the plot; otherwise the cells shrink to fit. Null makes cells fill the plot (see ChartOptions.CalendarMaximumCellSize).

public Double? CalendarMaximumCellSize { get; set; } #

Gets or sets the largest size, in pixels, calendar cells grow to when they fill the plot. Null leaves them unlimited.

public Double? CalendarCellGap { get; set; } #

Gets or sets the gap between calendar cells in pixels. Null chooses 3.5 px, or 2.5 px above 32 weeks.

public ChartChordOptions Chord { get; } #

Gets native chord geometry, direction, and label settings.

public ChartColorDimensionOptions MapColorDimension { get; } #

Gets the name and number display policy for numeric region and tile-map measurements.

public ChartColorDimensionOptions HeatmapColorDimension { get; } #

Gets the name and number display policy for numeric rectangular, hexagonal and calendar heatmap measurements.

public ChartSize Size { get; set; } #

Gets or sets the rendered chart size in pixels.

public ChartPadding Padding { get; set; } #

Gets or sets the outer frame padding. Headings, legends and axes reserve their measured space inside it. The default is the same for every theme and chart family. Explicit values are preserved by export.

public ChartTheme Theme { get; set; } #

Gets or sets the visual theme used by renderers.

public String? PngFontPath { get; set; } #

Gets or sets the preferred TrueType font file or TrueType collection used by the PNG renderer.

public String? PngFontFaceName { get; set; } #

Gets or sets the optional family, subfamily, full, or PostScript face name used when selecting a PNG font.

public Int32? PngFontCollectionIndex { get; set; } #

Gets or sets the optional face index used when ChartOptions.PngFontPath points to a TrueType collection.

public TextHinting PngTextHinting { get; set; } #

Gets or sets how the PNG renderer fits text to the pixel grid.

public Int32 PngSupersamplingScale { get; set; } #

Gets or sets the internal supersampling scale used by the PNG renderer.

public Int32 PngOutputScale { get; set; } #

Gets or sets the output pixel multiplier used by the PNG renderer.

public Boolean ShowLegend { get; set; } #

Gets or sets whether the legend is enabled. A default legend with one entry is hidden; explicitly assigning true also displays a single entry.

public Boolean ClipMarksToPlot { get; set; } #

Gets or sets whether Cartesian series geometry is clipped to the plot rectangle.

public Boolean ShowPointLegend { get; set; } #

Gets or sets a value indicating whether capable legends should list individual points instead of series.

public ChartLegendPosition LegendPosition { get; set; } #

Gets or sets where the legend is placed relative to the plot area.

public Boolean ShowHeader { get; set; } #

Gets or sets a value indicating whether the title and subtitle are rendered.

public Boolean ShowCard { get; set; } #

Gets or sets a value indicating whether the outer card surface is rendered.

public Boolean ShowPlotBackground { get; set; } #

Gets or sets a value indicating whether the plot background surface is rendered.

public Boolean ShowGrid { get; set; } #

Gets or sets a value indicating whether grid lines are rendered.

public Boolean TransparentBackground { get; set; } #

Gets or sets a value indicating whether the chart background should be transparent.

public Boolean ShowDataLabels { get; set; } #

Gets or sets chart-level data-label visibility. Series without an explicit override use this setting.

public Double? GanttToday { get; set; } #

Gets or sets the optional Gantt current-date marker as an OLE Automation date or numeric schedule value.

public ChartHeatmapScale HeatmapScale { get; set; } #

Gets or sets how heatmap values are converted into cell colors.

public Boolean ShowHeatmapScale { get; set; } #

Gets or sets a value indicating whether heatmap scale legends are rendered.

public Boolean ShowHeatmapColumnLabels { get; set; } #

Gets or sets a value indicating whether heatmap column labels are rendered.

public ChartPictorialShape PictorialShape { get; set; } #

Gets or sets the built-in symbol shape used by pictorial charts.

public Int32 PictorialColumns { get; set; } #

Gets or sets the number of repeated symbols used per pictorial chart row.

public Double? PictorialMaximum { get; set; } #

Gets or sets the optional scale maximum used by pictorial chart rows.

public Double? PictorialValuePerSymbol { get; set; } #

Gets or sets the data value represented by one full pictorial symbol.

public Boolean ShowPictorialValues { get; set; } #

Gets or sets a value indicating whether numeric value labels are rendered for pictorial rows.

public Double PictorialSymbolScale { get; set; } #

Gets or sets the relative pictorial symbol size inside each symbol slot.

public Double PictorialEmptyOpacity { get; set; } #

Gets or sets the opacity used by unfilled pictorial symbols.

public Double ProgressMaximum { get; set; } #

Gets or sets the maximum value used by progress-bar charts.

public Boolean ShowProgressValues { get; set; } #

Gets or sets a value indicating whether numeric value labels are rendered for progress-bar rows.

public Boolean ShowProgressHandles { get; set; } #

Gets or sets a value indicating whether progress-bar rows render slider handles.

public Double ProgressBarThicknessRatio { get; set; } #

Gets or sets the progress-bar thickness as a ratio of each row height.

public Double ProgressTrackOpacity { get; set; } #

Gets or sets the opacity used by progress-bar tracks.

public Boolean ShowDonutCenterLabel { get; set; } #

Gets or sets a value indicating whether donut charts render the center total and series label.

public Double DonutInnerRadiusRatio { get; set; } #

Gets or sets the ratio of the donut hole radius to the outer radius.

public String? DonutCenterValue { get; set; } #

Gets or sets optional custom primary text rendered in the center of donut charts.

public String? DonutCenterLabel { get; set; } #

Gets or sets optional custom secondary text rendered in the center of donut charts.

public Boolean ShowProgressRingCenterLabel { get; set; } #

Gets or sets a value indicating whether progress-ring charts render the center average and series label.

public Double CircleRadiusScale { get; set; } #

Gets or sets the relative radius used by circle charts.

public Double CircleStrokeScale { get; set; } #

Gets or sets the relative stroke thickness used by circle charts.

public Double RadialProgressRadiusScale { get; set; } #

Gets or sets the relative outer radius used by progress rings and layered radial progress charts.

public Double RadialProgressStrokeScale { get; set; } #

Gets or sets the relative stroke thickness used by progress rings and layered radial progress charts.

public Boolean ShowCircleStatusLabel { get; set; } #

Gets or sets a value indicating whether circle charts render the status marker and status label.

public String? PictorialSvgPathData { get; set; } #

Gets or sets optional input path data used as the pictorial symbol. Prepared SVG and native PNG output paint the same numeric geometry compiled from this path.

public ChartRect PictorialSvgPathViewBox { get; set; } #

Gets or sets the viewBox used to scale ChartOptions.PictorialSvgPathData.

public ChartPictorialShape PictorialPngFallbackShape { get; set; } #

Gets or sets the fallback shape for the legacy PNG exporter when ChartOptions.PictorialSvgPathData is configured. Prepared SVG and native PNG output use the actual custom path and ignore this legacy setting.

public Double WordCloudMinFontSize { get; set; } #

Gets or sets the smallest font size used by word cloud terms.

public Double WordCloudMaxFontSize { get; set; } #

Gets or sets the largest font size used by word cloud terms.

public Double[] WordCloudAngles { get; set; } #

Gets or sets the deterministic rotation angles used by word cloud terms.

public Int32? WordCloudMaximumTerms { get; set; } #

Gets or sets the optional maximum number of positive-weight terms rendered in a word cloud.

public Double WordCloudDensity { get; set; } #

Gets or sets the word cloud packing density from 0.5 to 2.0.

public Func<Double, String>? ValueFormatter { get; set; } #

Gets or sets a formatter used for y-axis ticks, data labels, stack totals, and donut totals.

public Boolean IsSparkline { get; set; } #

Gets or sets a value indicating whether the chart is rendered as a compact sparkline.

public ChartDataLabelPlacement DataLabelPlacement { get; set; } #

Gets or sets the preferred data-label placement for capable renderers.

public ChartColor? DataLabelConnectorColor { get; set; } #

Gets or sets an optional override color for data-label connector lines. Pie and donut callouts use the matching slice color when this is null.

public Double DataLabelConnectorOpacity { get; set; } #

Gets or sets the opacity used by data-label connector lines.

public Double DataLabelConnectorStrokeWidth { get; set; } #

Gets or sets the stroke width used by data-label connector lines.

public ChartDataLabelConnectorStyle DataLabelConnectorStyle { get; set; } #

Gets or sets the connector line shape used by outside and side data labels.

public ChartPieSliceLabelContent PieSliceLabelContent { get; set; } #

Gets or sets the text rendered for pie and donut slice data labels.

public Func<ChartPieSliceLabelContext, String?>? PieSliceLabelFormatter { get; set; } #

Gets or sets a custom formatter for pie and donut slice data labels.

public Double PieOutsideLabelDistanceRatio { get; set; } #

Gets or sets the side-lane distance for outside pie and donut labels as a ratio of the outer radius.

public Boolean PinStateColorsInForcedColors { get; set; } #

Gets or sets whether SVG output keeps state marks in their colours in forced-colours mode (Windows high contrast): marks with a status (data-cfx-status: state timeline segments, Gantt lane items, categorical heatmap cells, legend swatches, and also semantic heatmap cells and the calendar no-data swatch) and the hatch and outline drawn over them get forced-color-adjust:none, as report views do for their status chips. Off by default, so forced colours apply as usual. A host that also remaps its colour variables in forced-colours mode must keep the values of the variables these marks use, because custom properties are not affected by forced-color-adjust. PNG output is not affected.

public ChartFunnelOptions Funnel { get; } #

Gets the funnel anatomy and orientation settings shared by static exports.

public Boolean HostOwnsFrame { get; set; } #

Gets or sets whether the embedding host draws the frame. Removes the chart surface and outer padding.

public Boolean IsPanel { get; set; } #

Gets or sets whether a Graphite panel uses the compact 15 px title.

public ChartLineMarkerMode? LineMarkerMode { get; set; } #

Gets or sets optional line-marker visibility. Null uses the theme default (last point for Graphite).

public Int32 MaximumPieSlices { get; set; } #

Gets or sets the maximum displayed pie or donut slices, including an aggregate Other slice.

public ChartColorScale? HeatmapColorScale { get; set; } #

Gets or sets the numeric color scale shared by rectangular, hexagonal and calendar heatmaps. Null retains the family's default coloring. A scale uses all observed values, including zero, unless its range is fixed; explicit cell colors take precedence. Categorical matrices do not support a numeric scale.

public Double? HeatmapCellGap { get; set; } #

Gets or sets an optional heatmap cell gap in pixels.

public Double? HeatmapCellRadius { get; set; } #

Gets or sets an optional heatmap cell corner radius in pixels.

public ChartHeatmapValueTextMode HeatmapValueTextMode { get; set; } #

Gets or sets when heatmap cell values are rendered as text.

public Boolean HeatmapRelativeScale { get; set; } #

Gets or sets a value indicating whether heatmap intensity is relative to the observed value range (from zero for non-negative data). By default, heatmaps whose values all fall between 0 and 100 are read as percentages; enable this for counts and other magnitudes. Chart.AddHourWeekdayHeatmap enables it. Relative heatmaps are drawn with the neutral sequential scale; combining this with ChartHeatmapScale.Semantic is rejected unless ChartOptions.HeatmapColorScale supplies the coloring instead.

public ChartLabels Labels { get; } #

Gets the words ChartForgeX writes into charts on its own, such as the Gantt lane "Now" marker, so hosts can localize them.

public Double LegendMaximumHeightFraction { get; set; } #

Gets or sets the fraction of chart height available to a legend, including its spacing.

public Int32? LegendMaximumRows { get; set; } #

Gets or sets an additional row limit, including the overflow summary row. Null uses the height budget alone.

public ChartLineVisualStyle LineVisualStyle { get; set; } #

Gets or sets reusable visual tokens for line, area boundary, trend, and slope strokes.

public ChartMapViewport MapViewport { get; set; } #

Gets or sets the longitude/latitude window rendered by dotted map charts.

public ChartMapDefinition? RegionMapDefinition { get; set; } #

Gets or sets the region-map geometry used by generic region map charts.

public ChartRect? RegionMapBounds { get; set; } #

Gets or sets optional source coordinate bounds used to frame region maps.

public List<ChartMapLayer> MapBaseLayers { get; } #

Gets the non-data geography layers rendered behind region maps.

public List<ChartMapLayer> MapOverlayLayers { get; } #

Gets the non-data geography layers rendered above region maps.

public ChartTileMapDefinition? TileMapDefinition { get; set; } #

Gets or sets the tile-map geometry used by tile map charts.

public List<ChartMapConnector> MapConnectors { get; } #

Gets the connector lines rendered on capable map charts.

public Boolean ShowMapLabels { get; set; } #

Gets or sets a value indicating whether region labels are rendered on map charts.

public Boolean ShowMapScaleLegend { get; set; } #

Gets or sets a value indicating whether map scale legends are rendered.

public ChartMapScaleLegendPosition MapScaleLegendPosition { get; set; } #

Gets or sets where map scale legends are rendered.

public Boolean ShowMapSurface { get; set; } #

Gets or sets a value indicating whether map charts render their own background surface.

public ChartColorScale? MapColorScale { get; set; } #

Gets or sets the optional color scale used by region and tile maps.

public ChartColor? MapRegionStrokeColor { get; set; } #

Gets or sets the optional stroke color used for data regions.

public Double MapRegionStrokeWidth { get; set; } #

Gets or sets the stroke width used for data regions.

public ChartMarkBackdrop MarkBackdrop { get; set; } #

Gets or sets the surface treated as the colour behind the marks (state pattern lines, outlined and quiet heatmap cells, neutral zero counts, text on translucent marks). The default ChartMarkBackdrop.Layered composites the theme background with the card and plot background where they are drawn; a host that places a transparent chart on its own card sets ChartMarkBackdrop.Card.

public ChartPyramidOptions Pyramid { get; } #

Gets the pyramid value encoding, direction and shape settings shared by static exports.

public ChartRadialGeometryOptions RadialGeometry { get; set; } #

Gets or sets immutable geometry for numeric radial bars and columns, including column/radar compositions.

public ChartSankeyOptions Sankey { get; } #

Gets the native Sankey alignment, ordering, node geometry, label placement and paint options.

public List<ChartStateCategory> StateCategories { get; } #

Gets the categorical state map shared by state timelines and categorical heatmaps, in legend order. Keys that are not registered render in the theme's muted colour and show the raw key. The category legend is drawn at the bottom when ChartOptions.ShowLegend is enabled (heatmaps also require ChartOptions.ShowHeatmapScale); ChartOptions.LegendPosition does not apply to it.

public String? StateTimelineSummaryHeader { get; set; } #

Gets or sets the header for the right-hand summary column of state timelines. This remains an alias of ChartOptions.LaneSummaryHeader for existing callers.

public String? LaneSummaryHeader { get; set; } #

Gets or sets the shared state-timeline and Gantt-lane summary header.

public ChartSunburstOptions Sunburst { get; } #

Gets the Sunburst parent-size and independent numeric color options.

public SvgColorVariables? SvgColorVariables { get; set; } #

Gets or sets the CSS custom properties SVG output writes for mapped colours (see SvgColorVariables); null (the default) writes literal colours. PNG output always uses literal colours.

public TextStyleOverride TitleStyle { get; } #

Gets the text style used for chart titles.

public TextStyleOverride SubtitleStyle { get; } #

Gets the text style used for chart subtitles.

public TextStyleOverride AxisTitleStyle { get; } #

Gets the text style used for axis titles.

public TextStyleOverride TickLabelStyle { get; } #

Gets the text style used for axis tick and category labels.

public TextStyleOverride LegendStyle { get; } #

Gets the text style used for legend labels.

public TextStyleOverride DataLabelStyle { get; } #

Gets the text style used for data labels.

public ChartTreemapOptions Treemap { get; } #

Gets the treemap spacing, group-caption and independent numeric color options.

public ChartWaterfallOptions Waterfall { get; } #

Gets the waterfall orientation settings shared by static exports.