我使用以下LinearAxis作为我的X轴,我想将最小值设置为0,最大值设置为300.但在某些情况下,X轴可以超过300.那种情况,我希望x轴自动滚动。
<oxy:LinearAxis Position="Bottom" MajorGridlineStyle="Dot" Title="seconds"
MinWidth="100" Minimum="0" Maximum="300"
IsPanEnabled="True" ></oxy:LinearAxis>
我知道如果我没有设置最小值或最大值,那么轴实际上是自动缩放的,但它会从一开始就自动缩放,而不管设置的最大值是什么,这不是我想要的。 / p>
我应该尝试使用LinearAxis吗?
答案 0 :(得分:1)
您可以将ItemsSource
的{{1}}属性绑定到Series
并处理ObservableCollection<DataPoint>
事件。像这样:
CollectionChanged
其中
((ObservableCollection<DataPoint>)Points1).CollectionChanged += PlotPointsChanged;
((ObservableCollection<DataPoint>)Points2).CollectionChanged += PlotPointsChanged;
//...
请注意 oxyp 是 void PlotPointsChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
double max = 300;
foreach (OxyPlot.Wpf.Series ser in oxyp.Series)
foreach (DataPoint dp in ser.ItemsSource)
if (dp.X > max)
max = dp.X;
botAxis.Maximum = max;
}
的名称, botAxis 是您正在使用的轴。
希望它有所帮助。