using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using LiveCharts; using LiveCharts.Defaults; using LiveCharts.Wpf; namespace Wpf.CartesianChart.StackedBar { /// /// Interaction logic for StackedRowExample.xaml /// public partial class StackedRowExample : UserControl { public StackedRowExample() { InitializeComponent(); SeriesCollection = new SeriesCollection { new StackedRowSeries { Values = new ChartValues { new ObservableValue(5), new ObservableValue(8), new ObservableValue(2), new ObservableValue(4), new ObservableValue(6), new ObservableValue(2), new ObservableValue(9), new ObservableValue(3) }, DataLabels = true }, new StackedRowSeries { Values = new ChartValues { new ObservableValue(7), new ObservableValue(4), new ObservableValue(1), new ObservableValue(7), new ObservableValue(2), new ObservableValue(7), new ObservableValue(0), new ObservableValue(3) }, DataLabels = true }, new StackedRowSeries { Values = new ChartValues { new ObservableValue(6), new ObservableValue(2), new ObservableValue(8), new ObservableValue(2), new ObservableValue(9), new ObservableValue(2), new ObservableValue(3), new ObservableValue(3) }, DataLabels = true } }; Labels = new[] { "Jan", "Feb","Mar", "Apr", "May", "Jun", "Jul", "Ago" }; DataContext = this; } public SeriesCollection SeriesCollection { get; set; } public string[] Labels { get; set; } private void UpdateAllOnClick(object sender, RoutedEventArgs e) { var r = new Random(); foreach (var series in SeriesCollection) { foreach (var observableValue in series.Values.Cast()) { observableValue.Value = r.Next(-10, 10); } } } } }