Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Radar Chart

Siticone Radar Chart

The SiticoneRadarChart (also known as a spider chart) is a graphical method for displaying multivariate data in the form of a two-dimensional chart of three or more quantitative variables represented on axes starting from the same point. It is excellent for comparing features of different items.

Data Binding

The chart supports both manual data entry (via list properties) and binding to a data source (DataTable, List, etc.).

Property Type Description & Usage Example
DataSource object chart.DataSource = myDataTable; The source of the data. Accepts DataTable, List<T>, or IEnumerable.
LabelMember string chart.LabelMember = "SkillName"; The property name for the labels of each axis (spoke).
ValueMember string chart.ValueMember = "Score"; The property name for the numeric values to be plotted.
Data List<double> chart.Data = new List<double> { 80, 60, 90 }; Manually sets the data values if not using DataSource.
Labels List<string> chart.Labels = new List<string> { "A", "B", "C" }; Manually sets the labels if not using DataSource.

Appearance & Theming

Customize the web, data area, and overall style.

Property Type Description & Usage Example
Theme SiticoneRadarThemePreset chart.Theme = SiticoneRadarThemePreset.ForestGreen; Applies a preset color scheme. Options include OceanBlue, CrimsonRed, RoyalPurple, etc.
RangeCount int chart.RangeCount = 5; The number of concentric grid lines (webs) to draw.
MaxValue double chart.MaxValue = 100; The value representing the outermost edge of the chart.
DataAreaColor Color chart.DataAreaColor = Color.FromArgb(100, 0, 255, 0); The fill color of the polygon formed by the data points. Supports transparency.
DataLineThickness float chart.DataLineThickness = 3f; The thickness of the line connecting data points.
ShowDataPoints bool chart.ShowDataPoints = true; Toggles the visibility of circular markers at each vertex.

Behavior & Interaction

Control animations and user feedback.

Property Type Description & Usage Example
EnableAnimations bool chart.EnableAnimations = true; If true, the data polygon "grows" from the center when loaded.
EnableTooltips bool chart.EnableTooltips = true; Shows a tooltip with the axis label and value when hovering over a point.

Public Methods

DataBind()
// Forces the chart to process the DataSource and render the polygon.
// Call this after setting the DataSource or changing mapping properties.
radarChart.DataBind();
GenerateSampleData()
// Populates the chart with dummy data (e.g. RPG stats).
// Useful for design-time visualization.
radarChart.GenerateSampleData();

Events

Respond to user interaction with data points.

Event Descriptions & Wiring
// 1. PointClick Event
// Fires when a user clicks on a data point (vertex).
chart.PointClick += (s, e) => 
{
                MessageBox.Show($"Skill: {e.Label}\nScore: {e.Value}");
};

// 2. PointHover Event
// Fires when the mouse pointer moves over a data point.
chart.PointHover += (s, e) => 
{
    lblStatus.Text = $"Evaluating: {e.Label}";
};

// 3. DataChanged Event
// Fires whenever the internal data set is updated.
chart.DataChanged += (s, e) => 
{
                Console.WriteLine("Chart data updated.");
};

Detailed Usage Examples

Example 1: Skill Assessment (DataTable)

Visualizing employee skills or character stats.

C# - Skill Radar
private void LoadSkillData()
{
                DataTable dt = new DataTable();
    dt.Columns.Add("Skill", typeof(string));
    dt.Columns.Add("Level", typeof(double));

    dt.Rows.Add("Coding", 90);
    dt.Rows.Add("Design", 75);
    dt.Rows.Add("Communication", 85);
    dt.Rows.Add("Management", 60);
    dt.Rows.Add("Testing", 80);

    radarChart.DataSource = dt;
    radarChart.LabelMember = "Skill";
    radarChart.ValueMember = "Level";
    
                // Styling
    radarChart.Theme = SiticoneRadarThemePreset.RoyalPurple;
    radarChart.MaxValue = 100;
    
    radarChart.DataBind();
}

Example 2: Manual Data Entry

Populating the chart directly without a data source.

C# - Manual Entry
private void LoadManualData()
{
    radarChart.Labels = new List<string> { "N", "NE", "E", "SE", "S", "SW", "W", "NW" };
    radarChart.Data = new List<double> { 10, 15, 20, 15, 10, 5, 8, 5 };
    
    radarChart.Theme = SiticoneRadarThemePreset.OceanBlue;
    radarChart.MaxValue = 25;
    radarChart.RangeCount = 5;
    
                // No DataBind() needed for manual list assignment
}

Enumerations

SiticoneRadarThemePreset Enum
public enum SiticoneRadarThemePreset
{
    Custom, 
    OceanBlue, 
    ForestGreen, 
    SunsetOrange, 
    RoyalPurple, 
    CharcoalGray, 
    CrimsonRed, 
    Goldenrod, 
    SkyBlue,
                // ... and many more
}