using LiveCharts; using LiveCharts.Defaults; using LiveCharts.Uwp; using System; using System.Linq; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238 namespace UWP.CartesianChart.StackedBar { /// /// An empty page that can be used on its own or navigated to within a Frame. /// public sealed partial class StackedRowExample : Page { 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 AxesCollection AxisX { get; set; } = DefaultAxes.DefaultAxis; 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); } } } } }