PS Charts
Plugin de graphiques 100 % natif UMG / Slate (aucun navigateur web), pensé pour remplacer SimpleCharts sur les besoins de base :
- PS Pie Chart — camembert / donut
- PS Bar Chart — histogramme (barres groupées, multi-séries)
- PS Line Chart — courbes (multi-séries, lissage optionnel)
Module runtime unique PS_Charts, dépendances : Core, CoreUObject, Engine, Slate, SlateCore, UMG. Fonctionne sur toutes les plateformes (pas de CEF/WebBrowser).
Utilisation dans l'éditeur UMG
Les trois widgets apparaissent dans la palette UMG, catégorie PS Charts. Chaque widget affiche des données d'exemple dans le designer ; toutes les propriétés (données, style, axes) sont éditables dans le panneau Détails et la prévisualisation se met à jour immédiatement.
Injection des valeurs (Blueprint ou C++)
Camembert (UPSPieChart)
SetValues(TMap<FString, float>)— remplace toutes les parts (équivalent dudatade SimpleCharts)SetSlices(TArray<FPSPieSlice>)— contrôle complet (ordre, couleurs personnalisées)SetSliceValue(Label, Value)— met à jour une part (la crée si absente)ClearData()
Options : InnerRadiusRatio (0 = camembert, >0 = donut), StartAngleDegrees, GapAngleDegrees, LabelType (nom / valeur / pourcentage...), ValueSuffix.
Histogramme (UPSBarChart) et courbes (UPSLineChart)
SetCategories(TArray<FString>)— étiquettes de l'axe XSetSeries(TArray<FPSChartSeries>)— remplace toutes les séries (Name+Values)SetSingleSeries(TArray<float>, Name)— cas simple à une seule sérieSetSeriesValues(Name, TArray<float>)— met à jour une série existante (la crée si absente)ClearData()
Options d'axe : bShowGrid, bAutoRange (échelle automatique « propre »), bIncludeZero, AxisMinValue / AxisMaxValue, ValueSuffix.
Histogramme : CategoryGapRatio, BarGapRatio, bShowValueLabels.
Courbes : Thickness, bShowPoints, PointRadius, bSmooth (Catmull-Rom), bShowValueLabels.
Style commun
Title, TitleColor, TitleFontSize, TextColor, FontSize, Palette (couleurs auto des séries/parts), LegendPosition (haut/bas/gauche/droite/masquée), BackgroundColor.
Après modification directe d'une propriété en Blueprint (sans passer par un setter), appeler Refresh() pour repousser les valeurs vers le rendu.
Exemple C++
#include "PSBarChart.h"
BarChart->SetCategories({ TEXT("Jan"), TEXT("Feb"), TEXT("Mar") });
BarChart->SetSeriesValues(TEXT("Ventes"), { 12.f, 25.f, 18.f }); // mise a jour live
Les widgets Slate purs (SPSPieChart, SPSBarChart, SPSLineChart) sont exportés et utilisables directement hors UMG.
Migration depuis SimpleCharts
| SimpleCharts | PS Charts |
|---|---|
UPieChart::SetSeries(FPieSeries) avec data : TMap<FString,float> |
UPSPieChart::SetValues(TMap<FString,float>) |
UBarChart::SetSeries(TArray<FBarSeries>) (name + data) |
UPSBarChart::SetSeries(TArray<FPSChartSeries>) (Name + Values) |
ULineChart::SetSeries(TArray<FLineSeries>) (smooth) |
UPSLineChart::SetSeries(...) + bSmooth |
SetLegend(show, position, orient, color, fontSize) |
LegendPosition, TextColor, FontSize + Refresh() |
| Thèmes ECharts | Palette (tableau de couleurs) |