2015-11-04 9 views
0

Как уменьшить расстояние между тиками? Я хочу поместить свечи ближе. И я не могу найти недвижимость в LinearAxis XAxis, которые отвечают за расстояние.Oxyplot расстояние между тиками

enter image description here

Код:

namespace WpfApplication20 
{ 
/// <summary> 
/// Interaction logic for MainWindow.xaml 
/// </summary> 
/// 
public partial class MainWindow : Window 
{ 

    public MainWindow() 
    { 
     InitializeComponent(); 
     DataContext = new PlotClass(); 
    } 

} 
public class PlotClass 
{ 
    public PlotModel PlotModel { get; set; } 
    public PlotClass() 
    { 
     Random rnd = new Random(); 
     PlotModel = new PlotModel(); 
     LineSeries LS = new LineSeries(); 
     LinearAxis XAxis = new LinearAxis 
     { 
      Position = AxisPosition.Bottom, 
      MinorStep=1, 
      MajorStep=1 

     }; 
     LinearAxis YAxis = new LinearAxis() 
     { 
      Position = AxisPosition.Left 
     }; 
     for (int i=0;i<10;i++) 
     { 
      LS.Points.Add(new DataPoint(i,rnd.Next(1,10))); 
     } 
     PlotModel.Axes.Add(YAxis); 
     PlotModel.Axes.Add(XAxis); 
     PlotModel.Series.Add(LS); 
     ChangeToCandles(); 
     WhatTypeOfSeries(); 
    } 
    public void ChangeToCandles() 
    { 
     Random rnd = new Random(); 
     PlotModel.Series.Clear(); 
     CandleStickSeries CSS = new CandleStickSeries(); 
     for (int i = 0; i < 10;i++) 
     { 
      CSS.Items.Add(new HighLowItem { X = i, Close = rnd.NextDouble(), High = rnd.NextDouble(), Low = rnd.NextDouble(), Open = rnd.NextDouble() }); 
     } 
     PlotModel.Series.Add(CSS); 
    } 
    public void WhatTypeOfSeries() 
    { 
     var temp = PlotModel.Series[0].GetType(); 
     Console.WriteLine(temp); 
    } 
} 
} 

XAML:

<Grid> 
    <oxy:Plot Model="{Binding PlotModel}"/> 
</Grid> 

ответ

2

Try зуммирования:

XAxis.Zoom(-5, 15); 

EDIT >>>>

У вас есть цикл от 0 до 10, вы просто должны добавить некоторые настройки значений. Для этих пределов для более общего характера:

int lowerIndex = 0; 
int upperIndex = 10; 
int zoomValue = 5; 

for (int i=lowerIndex;i<upperIndex;i++) 
{ 
    LS.Points.Add(new DataPoint(i,rnd.Next(1,10))); 
} 

XAxis.Zoom(lowerIndex-zoomValue, upperIndex+zoomValue); 
+0

Это не изменит расстояние между клещами. – A191919

+0

Я тестировал его, и это происходит, по крайней мере, в вашем случае. – Jose

0

Try играть с CandleStickSeries.CandleWidth собственности:

  1. Если он установлен в 1, то будет быть свободным между свечами.
  2. Если установлено значение> 1, то свечи будут перекрываться.
  3. Если установлено значение < 1, тогда между свечами будет промежуток. Чем меньше значение, тем больше разрыв.