void PlotterConfigurator_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { if (DataContext != null) { x = ((ChartPlotter)DataContext).Children.OfType<HorizontalAxisTitle>().FirstOrDefault(); y = ((ChartPlotter)DataContext).Children.OfType<VerticalAxisTitle>().FirstOrDefault(); tx.Text = x.Content.ToString(); ty.Text = y.Content.ToString(); } }
void Page_Loaded(object sender, RoutedEventArgs e) { mainHeader = new Header(); TextBlock anotherHeaderText = new TextBlock(); anotherHeaderText.Text = "Layout Tutorial"; anotherHeaderText.TextAlignment = TextAlignment.Center; anotherHeaderText.FontSize = 22; mainHeader.Content = anotherHeaderText; PlotterMain.Children.Add(mainHeader); additioanlHeader = new Header(); TextBlock headerText = new TextBlock(); headerText.Text = "Additional header"; headerText.FontSize = 20; headerText.FontWeight = FontWeights.Bold; additioanlHeader.Content = headerText; PlotterMain.Children.Add(additioanlHeader); footer = new Footer(); TextBlock footerText = new TextBlock(); footerText.Text = "Small footer"; footerText.FontSize = 8; footerText.FontStyle = FontStyles.Italic; footer.Content = footerText; TextBlock vertTitleTextBlock = new TextBlock(); vertTitleTextBlock.Text = "This is Vertical title"; //Only VerticalAxisTitle should be created this way, to create HorizonatalAxisTitle use its Content property //DO NOT use Content property in VerticalAxisTitle vertTitle = new VerticalAxisTitle(vertTitleTextBlock); PlotterMain.Children.Add(vertTitle); //Use Content property of the HorizontalAxisTitle to set its content horiTitle = new HorizontalAxisTitle(); horiTitle.Content = new TextBlock() { Text="Horizontal axis title set from code",HorizontalAlignment= HorizontalAlignment.Center}; PlotterMain.Children.Add(horiTitle); TextBoxUpperHeaderTitle.Text = anotherHeaderText.Text; TextBoxVerticalTitle.Text = vertTitleTextBlock.Text; }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.plotter = ((Microsoft.Research.DynamicDataDisplay.ChartPlotter)(target)); return; case 2: this.dateAxis = ((Microsoft.Research.DynamicDataDisplay.Charts.Axes.HorizontalIntegerAxis)(target)); return; case 3: this.countAxis = ((Microsoft.Research.DynamicDataDisplay.Charts.Axes.VerticalIntegerAxis)(target)); return; case 4: this.graphTitle = ((Microsoft.Research.DynamicDataDisplay.Header)(target)); return; case 5: this.verticalAxisTitle = ((Microsoft.Research.DynamicDataDisplay.VerticalAxisTitle)(target)); return; case 6: this.horizontalAxisTitle = ((Microsoft.Research.DynamicDataDisplay.HorizontalAxisTitle)(target)); return; } this._contentLoaded = true; }
private void DrawPlots() { HorizontalAxis xAxis = (HorizontalAxis)plotter.MainHorizontalAxis; xAxis.TicksProvider = new LogarithmNumericTicksProvider(10); xAxis.LabelProvider = new UnroundingLabelProvider(); xAxis.ShowMajorLabels = true; xAxis.ShowMinorTicks = true; xAxis.SnapsToDevicePixels = true; xAxis.LabelProvider.SetCustomFormatter(info => info.Tick.ToString("#.######e0")); HorizontalAxisTitle HAT = new HorizontalAxisTitle() { Content = _xAxisInfo.AxisTitle }; plotter.MainHorizontalAxis = xAxis; plotter.Children.Add(HAT); ((NumericAxis)plotter.MainHorizontalAxis).AxisControl.TicksPath.Stroke = Brushes.Blue; VerticalAxis yAxis = (VerticalAxis)plotter.MainVerticalAxis; yAxis.TicksProvider = new NumericTicksProvider(); yAxis.LabelProvider = new UnroundingLabelProvider(); yAxis.ShowMajorLabels = true; yAxis.ShowMinorTicks = true; yAxis.SnapsToDevicePixels = true; VerticalAxisTitle VAT = new VerticalAxisTitle() { Content = _yAxisInfoList[0].AxisTitle }; plotter.MainVerticalAxis = yAxis; plotter.Children.Add(VAT); plotter.AxisGrid.DrawVerticalMinorTicks = true; plotter.AxisGrid.DrawHorizontalMinorTicks = true; plotter.MainVerticalAxis.Background = new LinearGradientBrush(Colors.White, Colors.LightGray, 90); var xPoints = _xAxisInfo.AxisDataPoints.AsXDataSource(); // Create the main plot foreach (AxisInfo yAxInfo in _yAxisInfoList) { var yPoints = yAxInfo.AxisDataPoints.AsYDataSource(); CompositeDataSource plot = xPoints.Join(yPoints); plotter.AddLineGraph(plot, yAxInfo.PlotColor, yAxInfo.PlotLineThickness, yAxInfo.AxisLegend); } // add secondary y-axis plots if any exist if (_yAxisInfoSecList != null) { InjectedPlotter innerPlotter = new InjectedPlotter(); innerPlotter.SetViewportBinding = false; plotter.Children.Add(innerPlotter); HorizontalAxis ax = new HorizontalAxis(); ax.Placement = AxisPlacement.Top; ax.TicksProvider = new LogarithmNumericTicksProvider(10); ax.LabelProvider = new UnroundingLabelProvider(); ax.LabelProvider.SetCustomFormatter(info => info.Tick.ToString("#.######e0")); ax.ShowMajorLabels = true; ax.ShowMinorTicks = true; ax.SnapsToDevicePixels = true; ax.AxisControl.TicksPath.Stroke = Brushes.Red; plotter.Children.Add(ax); VerticalAxis yAxisSec = new VerticalAxis() { TicksProvider = new NumericTicksProvider(), LabelProvider = new UnroundingLabelProvider(), ShowMinorTicks = true, ShowMajorLabels = true, SnapsToDevicePixels = true, Placement = AxisPlacement.Right }; VerticalAxisTitle VATsecondary = new VerticalAxisTitle() { Content = _yAxisInfoSecList[0].AxisTitle, Placement = AxisPlacement.Right }; innerPlotter.MainVerticalAxis = yAxisSec; innerPlotter.Children.Add(VATsecondary); innerPlotter.MainVerticalAxis.Background = new LinearGradientBrush(Colors.White, Colors.Red, 90); foreach (AxisInfo yAxInfoSec in _yAxisInfoSecList) { var ySecPoints = yAxInfoSec.AxisDataPoints.AsYDataSource(); CompositeDataSource plotSec = xPoints.Join(ySecPoints); /*innerP*/ plotter.AddLineGraph(plotSec, yAxInfoSec.PlotColor, yAxInfoSec.PlotLineThickness, yAxInfoSec.AxisLegend); } } }
public void SetHorizontalTitle(string title) { HorizontalAxisTitle ht; if (m_Plotter.Children.OfType<HorizontalAxisTitle>().Count() == 1) { ht = m_Plotter.Children.OfType<HorizontalAxisTitle>().Single(); m_Plotter.Children.Remove(ht); } ht = new HorizontalAxisTitle(); ht.Content = title; m_Plotter.Children.Add(ht); }
private void drowChartPlotter(ChartPlotter cp) { this.chartGrid_.Children.Clear(); Header h = new Header(); h.Content = "Payoff"; cp.Children.Add(h); VerticalAxisTitle vat = new VerticalAxisTitle(); vat.Content = "억원"; HorizontalAxisTitle hat = new HorizontalAxisTitle(); hat.Content = "P"; cp.Children.Add(vat); cp.Children.Add(hat); }