devexpress/agent-skills/devexpress-winforms-charts
Claude Code and agent skill by devexpress/agent-skills
- community
Checking that the SKILL.md file is still in the repository.
DevExpress WinForms Chart Control (DevExpress.XtraCharts.ChartControl) for 2D and 3D data visualization. Covers the element hierarchy (ChartControl, Diagram, Series, SeriesView); data binding (DataSource, SeriesDataMember, ArgumentDataMember, ValueDataMembers, SeriesTemplate, FinancialDataMembers, RefreshData); the series-view catalog and parent diagrams (XYDiagram hosts Bar/Line/Area/Point/Bubble/Financial/BoxPlot; SimpleDiagram hosts Pie/Doughnut/Funnel; Radar, Polar, Gantt, SwiftPlot, 3D); a…
Install
npx vskill@latest install devexpress/agent-skills/devexpress-winforms-chartsSKILL.md
DevExpress WinForms Chart Control
DevExpress.XtraCharts.ChartControl is a 2D and 3D data-visualization component that supports 50+ series view types (bar, line, area, pie, financial, radar, polar, funnel, gantt, swift plot for huge datasets, etc.). The architecture is a four-level hierarchy: a ChartControl hosts a single Diagram of a specific type (XYDiagram, SimpleDiagram, GanttDiagram, RadarDiagram, PolarDiagram, SwiftPlotDiagram, or their 3D counterparts), the diagram contains a collection of Series, and each Series has a View (BarSeriesView, LineSeriesView, PieSeriesView, …) that determines its appearance. The diagram type is implicitly chosen by the first added series' view — adding a Series of ViewType.Pie produces a SimpleDiagram automatically; adding ViewType.Bar produces an XYDiagram.
Every chart concept — series, axis, label, legend, tooltip, crosshair, selection — exposes a consistent property model and a CustomDraw* event for cases the property model cannot cover. The same Series API works for bound and unbound modes: assign DataSource + ArgumentDataMember + ValueDataMembers for data binding, or Points.Add(new SeriesPoint(...)) for inline values.
When to Use This Skill
- Adding a chart to a WinForms app — pick a series view, bind data, configure axes.
- Choosing the right series view for the data shape (bar comparison vs trend line vs pie share vs financial OHLC vs radar profile vs gantt timeline).
- Configuring axes (primary + secondary; Numerical / DateTime / TimeSpan / Qualitative scale types) and their ranges.
- Formatting axis titles and labels (
TextPatternwith{A}/{V}/{VP}placeholders + .NET format specifiers). - Aggregating large data sets on a DateTime axis via
ScaleMode = AutomaticandAggregateFunction. - Configuring the legend — single or multiple legends, alignment, layout, per-series legend item text via
LegendTextPattern. - Enabling tooltips and the crosshair cursor; formatting their content; understanding when each one is the default.
- Enabling selection (Single, Multiple, or Extended) and choosing whether the entire series, a single point, or all points with the same argument get selected.
Prerequisites & Installation
NuGet Packages
| Package | Required For | |
|---|---|---|
DevExpress.Win.Charts | ChartControl, all series views, all diagrams. | |
DevExpress.Win.Printing | ChartControl.ShowPrintPreview(), ExportToPdf/ExportToImage/ExportToXlsx for charts. | |
DevExpress.Win (umbrella, optional) | Covers most WinForms controls including Charts. |
Host Form
XtraForm is recommended for skin propagation but not required — ChartControl works on a plain Form.
Common Imports
For chart-specific repository items used in grids, also using DevExpress.XtraEditors.Repository; (RepositoryItemAnyControl to embed a chart in a grid cell).
Before You Start — Ask the Developer
If the host agent has a structured question-asking tool available, use it to ask these questions one at a time with clear options — for example, Claude Code's AskUserQuestion tool or GitHub Copilot's askQuestions tool. If no such tool is available, ask the questions directly in the chat response before generating code.
- What shape of data, conceptually — comparison (
Bar), trend over time (Line/Area), composition (Pie/Doughnut/Funnel), distribution (Histogram/BoxPlot), correlation (Scatter/Bubble), OHLC (CandleStick/Stock), schedule (Gantt), profile (Radar)? - 2D or 3D? 3D charts do not support tooltips, crosshair cursor, or runtime selection.
- One series or several? Multiple series with different ranges → use secondary axes (
XYDiagramonly). - What is the argument type — number / date+time / time-span / category string? This drives
ArgumentScaleTypeand the diagram's axis scale. - How large is the data set? > 100 k points → switch to `SwiftPlotDiagram` +
SwiftPlotSeriesView/SwiftPointSeriesView; > 1 M points → also enable data aggregation. - Bound or unbound? Bound from EF/DTO/
DataTable→ setDataSource+ArgumentDataMember+ValueDataMembers. Unbound →series.Points.Add(new SeriesPoint(arg, value)).
Documentation & Navigation Guide
Getting Started
Refer to references/getting-started.md (.NET 8+) or references/getting-started-dotnet-fw.md (.NET Framework 4.x) When you need to: install NuGet, drop a ChartControl on a form, add a first series, run the Chart Designer, understand the element hierarchy.
Data Binding
Refer to references/data-binding.md When you need to: bind to a DataTable/IList/DataView/EF DbSet, set DataSource + DataAdapter + ArgumentDataMember + ValueDataMembers, use SeriesTemplate + SeriesDataMember to auto-create one series per category, configure financial data members (SetFinancialDataMembers), refresh data at runtime with RefreshData, swap argument/value scale types via ArgumentScaleType / ValueScaleType.
Series and Diagrams (Series View Catalog)
Refer to references/series-and-diagrams.md When you need to: pick a series view, know which *Diagram parent it lives in, look up the compatibility table, change a series view with Series.ChangeView(ViewType.X), mix series on one chart (only views from compatible diagrams can coexist).
Axes
Refer to references/axes.md When you need to: configure primary axes (XYDiagram.AxisX/AxisY); add secondary axes (XYDiagram.SecondaryAxesX/SecondaryAxesY); pick a scale type (Numerical / DateTime / TimeSpan / Qualitative); customize NumericScaleOptions / DateTimeScaleOptions / TimeSpanScaleOptions / QualitativeScaleOptions (ScaleMode, MeasureUnit, GridSpacing, GridAlignment); set ranges (WholeRange, VisualRange, Range.SetMinMaxValues); reverse, rotate, or hide axes.
Axis Titles and Labels
Refer to references/axis-titles-and-labels.md When you need to: set Axis.Title.Text + Title.Alignment + Title.DXFont; format AxisLabel.TextPattern with {A} / {V} / {VP} placeholders and .NET format specifiers; apply a custom AxisLabel.Formatter; add CustomAxisLabel callouts; handle CustomDrawAxisLabel for per-label appearance.
Data Aggregation and Summary
Refer to references/aggregation-and-summary.md When you need to: enable automatic aggregation for very large date-time data (DateTimeScaleOptions.ScaleMode = Automatic); pick an aggregate function (Average, Sum, Min, Max, Financial for OHLC, Histogram); switch between Continuous (no aggregation) and Manual modes; choose MeasureUnit and GridSpacing; understand when aggregation is the right answer vs. when to switch to SwiftPlotDiagram.
Legend
Refer to references/legend.md When you need to: position the legend (ChartControl.Legend.AlignmentHorizontal/AlignmentVertical with the *Outside variants), add additional legends to ChartControl.Legends, dock them to specific panes (Legend.DockTargetName), configure layout (Direction, MaxHorizontalPercentage/MaxVerticalPercentage, EquallySpacedItems), add a legend title (Legend.Title), format legend item text via SeriesBase.LegendTextPattern, enable check-box markers, customize fonts and colors.
Tooltips and Crosshair Cursor
Refer to references/tooltips-and-crosshair.md When you need to: understand the automatic choice (Crosshair Cursor for XYDiagram/SwiftPlotDiagram, Tooltip for everything else 2D), enable/disable each per chart and per series, format content with ToolTipPointPattern / ToolTipSeriesPattern / CrosshairLabelPattern / CrosshairAxisLabelOptions.Pattern / GroupHeaderPattern, customize position (ToolTipRelativePosition, ShowBeak), control crosshair lines/labels via CrosshairOptions, customize appearance via CustomDrawCrosshair.
Selection
Refer to references/selection.md When you need to: enable selection (ChartControl.SelectionMode = Single/Multiple/Extended/None), pick what gets selected per click (SeriesSelectionMode = Series/Point/Argument), change the mouse/keyboard binding on the diagram (((XYDiagram)chart.Diagram).SelectionOptions.MouseAction, RectangleSelectionMouseAction), respond to selection (ObjectSelected, SelectedItemsChanged, ObjectHotTracked), customize selected appearance (CustomDrawSeriesPoint + SelectionState), and clear/set selection in code (ClearSelection, SetObjectSelection, ReplaceSelectedItems).
Quick Start
Key API Surface
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/dx-winforms/skills/devexpress-winforms-charts/SKILL.md
Popularity
- Repository stars
- 67
- Repository forks
- 12
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 1 Oct 2026, a month ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/devexpress/agent-skills/devexpress-winforms-charts)