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();
      }
    }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
		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);
				}

			}
		}
Ejemplo n.º 5
0
        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);

        }