2016-01-31 7 views
1

Я пытаюсь изучить использование оксиплота. Когда я показываю график в форме, сюжет охватывает всю область формы (показано ниже). Я хочу поместить его в spesific координаты с размерами.Установленное положение и размеры OXYPLOT C#

Как я могу это сделать?

Мой код:

private void Plot() 
{ 

    PlotView pv = new PlotView(); 
    pv.Dock = DockStyle.Fill; 
    this.Controls.Add(pv); 

    LinearAxis XAxis = new LinearAxis { Position = OxyPlot.Axes.AxisPosition.Bottom }; 
    LinearAxis YAxis = new LinearAxis(); 
    PlotModel pm = new PlotModel(); 
    pm.Axes.Add(XAxis); 
    pm.Axes.Add(YAxis); 
    pm.Background = OxyColor.FromRgb(0, 0, 255); 
    pv.Model = pm; 
    pv.Model.Series.Add(GetFunction()); 
} 

private FunctionSeries GetFunction() 
    { 
     FunctionSeries fs = new FunctionSeries(); 
     for(int x=-10;x<=10;x++) 
      for(int y=-10;y<10;y++) 
      { 
       DataPoint data = new DataPoint(x, y); 
       fs.Points.Add(data); 
      } 
     return fs; 
    } 

Результат:

enter image description here

ответ

1

Вы должны создать PlotView на XAML, привязать PlotView Model свойство вашего PlotModel на код позади, а затем обработать его как нормальный элемент элемента:

<oxy:PlotView Model="{Binding pm}" Height="200" Width="200" 
       HorizontalAlignment="Right" Margin="20"/> 
+0

0 Не удалось найти файл xaml о моем f ОРМ. Где это? – ffttyy

+0

Извините, я думал, что вы используете WPF, но вы находитесь на окнах. Возможно, вы можете редактировать одни и те же свойства представления по коду позади, как вы это делали. – Jose

+0

@ffttyy, В этом случае просто добавьте 'pv' в обертку управления вместо основной формы. –

 Смежные вопросы

  • Нет связанных вопросов^_^