标签: oxyplot

OxyPlot中DateTime轴上的不规则间隔

我有一个WPF应用程序,我在其中使用OxyPlot进行制图.我不断向图表中的lineseries添加积分.X轴是DateTime轴,其间隔类型设置为秒.点数连续添加到线系列中.当第一个点和最后一个点之间的时间跨度是特定的秒数时,我删除第一个点并使图无效.这使得X轴滚动.我注意到Interval不是常规的.间隔有时会改变.请参阅以下图像:

在此输入图像描述

这是图表开始绘图时的间隔.

一段时间后,间隔是这样的:

在此输入图像描述

如何使间隔固定,如第一张图像中所示?

c# wpf oxyplot

3
推荐指数
1
解决办法
4685
查看次数

在oxyplot中已经实现了哪些键盘快捷键功能?

我正在寻找氧气图已经实现的所有快捷方式功能的列表!

像A ==重置Ctrl +鼠标左键......等.

keyboard shortcut oxyplot

3
推荐指数
1
解决办法
1224
查看次数

OxyPlot.如何将轴旁边的值格式从1000更改为1k

我试图将轴旁边的值的格式从例如1000更改为1k或1000000到1M.

这在LinearAxis中是否可行?

这是我的代码:

            m.Axes.Add(new LinearAxis
        {
            Position = AxisPosition.Right,
            IsZoomEnabled = false,
            IsPanEnabled = false,
            Minimum = -(_maxPointValue2*0.1),
            Maximum = _maxPointValue2 + (_maxPointValue2*0.1),
            FontSize = 15,
            Key = "right",
            TickStyle = TickStyle.Outside,

        });
Run Code Online (Sandbox Code Playgroud)

这可能与StringFormat一起使用吗?

也可以更改TickStyle,以便破折号通过整个情节?

提前致谢

迈克尔

string-formatting oxyplot

3
推荐指数
1
解决办法
3968
查看次数

图表绘图点 - 在 OxyPlot 中显示工具提示

我正在开发一个需要图表的 WPF 应用程序。我正在使用OxyPlot。我的图表使用以下 XAML 正确呈现。

<oxy:Plot Height="800" HorizontalContentAlignment="Stretch">
  <oxy:Plot.Series>
    <oxy:LineSeries ItemsSource="{Binding Series1Points}" MarkerType="Diamond" Title="Series 1" />
    <oxy:LineSeries ItemsSource="{Binding Series2Points}" MarkerType="Diamond" Title="Series 2" />
  </oxy:Plot.Series>
</oxy:Plot>
Run Code Online (Sandbox Code Playgroud)

我有一个尚未成功解决的挑战。当渲染系列时,每个数据点显示为菱形。当用户将鼠标放在钻石上时,我想显示一个带有数据点的 X 和 Y 值的工具提示。你怎么能这么做呢?看起来应该是可以的。然而,我没有取得任何成功。

wpf xaml oxyplot

3
推荐指数
1
解决办法
4154
查看次数

如何在 Oxyplot 中添加大量数据时自动平移

在 XAMARIN iOS Oxyplot 中,我想构建一些图表来显示电池趋势。大约有 2000 个数据点。添加时,oxyplot 尝试将它们全部添加到可见区域中。然而,我希望它平移和下降。

平移问题

代码如下

plotModel.Axes.Add (new  LinearAxis {
            Position = AxisPosition.Left,
            MajorGridlineStyle = LineStyle.Dot,
            Minimum = -2,
            Maximum = 8,
            AbsoluteMinimum = -2,
            AbsoluteMaximum = 8,
            MinorStep = 10,
            MajorStep = 2
        });

        DateTimeAxis dtx = new DateTimeAxis { 
            Position = AxisPosition.Bottom,
            MajorGridlineStyle = LineStyle.Dot,
            AbsoluteMinimum = DateTimeAxis.ToDouble (batteryGraph.Min (v => v.LogTimeStamp)) - (0.5d / 60),
            MajorStep = 5d,
            StringFormat = "MM-dd-yy",
            AbsoluteMaximum = DateTimeAxis.ToDouble (batteryGraph.Max (v => v.LogTimeStamp)) + (0.5d / 6),
            Minimum = …
Run Code Online (Sandbox Code Playgroud)

c# xamarin.ios oxyplot

3
推荐指数
1
解决办法
1913
查看次数

GridLines背后的OxyPlot AreaSeries

我使用了AreaSeries在图表上显示彩色区域.

在此输入图像描述

彩色区域呈现在网格线的顶部.有没有办法将网格线带到前面?

此图在WPF项目的XAML中定义.这是配置:

    <oxy:Plot Grid.Row="1"
          Margin="0"
          HorizontalAlignment="Stretch"
          VerticalAlignment="Stretch"
          PlotType="XY"
          TitleFontSize="11"
          IsLegendVisible="False"
          Title="{Binding Channel.Name}"
          InvalidateFlag="{Binding Refresh}">
      <oxy:Plot.Axes>
        <oxy:LinearAxis Key="yAxis"
                    IsZoomEnabled="False"
                    IsPanEnabled="False"
                    Position="Left"
                    MajorGridlineStyle="Dot"
                    MajorGridlineColor="LightGray"
                    Title="Speed [m/s]"
                    Maximum="{Binding SpeedXDistance_MaxY}"/>
        <oxy:LinearAxis Key="xAxis"
                    IsZoomEnabled="False"
                    IsPanEnabled="False"
                    Position="Bottom"
                    MajorGridlineStyle="Dot"
                    MajorGridlineColor="LightGray"
                    Title="Distance [m]"
                    Maximum="{Binding SpeedXDistance_MaxX}"/>
      </oxy:Plot.Axes>
      <oxy:Plot.Series>
        <oxy:LineSeries ItemsSource="{Binding SpeedXDistancePoints}"
                        DataFieldX="X"
                        DataFieldY="Y"
                        StrokeThickness="1"
                        MarkerSize="0"
                        LineStyle="Solid"
                        Color="Blue"
                        MarkerType="None"/>
        <oxy:AreaSeries ItemsSource="{Binding SpeedXDistanceUpperLimit}"
                        Fill="AliceBlue"
                        DataFieldX="X"
                        DataFieldY="Y"
                        StrokeThickness="1"
                        MarkerSize="0"
                        LineStyle="Solid"
                        Color="DarkGray"
                        MarkerType="None"/>
      </oxy:Plot.Series>
    </oxy:Plot>
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

c# wpf charts xaml oxyplot

3
推荐指数
1
解决办法
2542
查看次数

OxyPlot 的 LinearAxis 需要余量

我使用 C#、wpf、OxyPolt。

在此输入图像描述

我需要标签“标题名称,m”的边距。

xmlns:oxy="http://oxyplot.org/wpf"

<oxy:Plot>
   <oxy:Plot.Series>
      <oxy:LineSeries ItemsSource="{Binding DataVM}" 
                      StrokeThickness="2" DataFieldX="X" DataFieldY="Y"/>
   </oxy:Plot.Series>
   <oxy:Plot.Axes>
       <oxy:LinearAxis Position="Bottom" Title="Title name"/>
       <oxy:LinearAxis Position="Left" Title="Title name, m"/>
   </oxy:Plot.Axes>
</oxy:Plot>
Run Code Online (Sandbox Code Playgroud)

c# wpf charts styles oxyplot

3
推荐指数
1
解决办法
1415
查看次数

在Windows窗体中呈现OxyPlot图形

我想在我的Windows窗体中停靠一个OxyPlot图并绘制函数图y = 2x - 7.我已经下载了OxyPlot并添加了对我项目的引用.我使用以下代码将绘图添加到我的表单:

public partial class GraphForm : Form
{
    public OxyPlot.WindowsForms.Plot Plot;

    public Graph()
    {
        InitializeComponent();

        Plot = new OxyPlot.WindowsForms.Plot();
        Plot.Model = new PlotModel();
        Plot.Dock = DockStyle.Fill;
        this.Controls.Add(Plot);

        Plot.Model.PlotType = PlotType.XY;
        Plot.Model.Background = OxyColor.FromRgb(255, 255, 255);
        Plot.Model.TextColor = OxyColor.FromRgb(0, 0, 0);
    }
}
Run Code Online (Sandbox Code Playgroud)

使用此代码,我看到白色背景,控件已创建,但它只是一个白色背景.我环顾了OxyPlot.Plot班上的成员,但我找不到办法来解决问题.如何在图表中绘制方程式?

c# graphing controls winforms oxyplot

2
推荐指数
1
解决办法
1万
查看次数

在 WPF 中使用数据绑定时 OxyPlot 不刷新

我正在异步获取数据并尝试通过 LineSeries 填充绘图,但在更新绑定集合 (ObservableCollection) 时绘图不会刷新。注意:当绑定集合更改时,我有一个 XAML 行为来调用 InvalidatePlot(true)。

谁能解释为什么情节没有按预期更新?

WPF .Net 4.0 OxyPlot 2014.1.293.1

我有以下 XAML 数据模板,您可以看到 LineSeries ItemsSource 绑定到 ViewModel 中的属性 (PlotData):

<DataTemplate DataType="{x:Type md:DataViewModel}">

    <Grid>

        <oxy:Plot x:Name="MarketDatePlot"
                    Margin="10">
            <oxy:Plot.Axes>
                <oxy:DateTimeAxis Position="Bottom"
                                    StringFormat="dd/MM/yy"
                                    MajorGridlineStyle="Solid"
                                    MinorGridlineStyle="Dot"
                                    IntervalType="Days"
                                    IntervalLength="80" />
                <oxy:LinearAxis Position="Left"
                                MajorGridlineStyle="Solid"
                                MinorGridlineStyle="Dot"
                                IntervalLength="100" />
            </oxy:Plot.Axes>
            <oxy:LineSeries ItemsSource="{Binding Path=PlotData, Mode=OneWay}" />
            <i:Interaction.Behaviors>
                <behaviors:OxyPlotBehavior ItemsSource="{Binding Path=PlotData, Mode=OneWay}" />
            </i:Interaction.Behaviors>
        </oxy:Plot>
    </Grid>

</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

正如我所说,ViewModel 异步请求并填充绑定集合(绑定集合的实际填充发生在 UI 线程上):

public sealed class DataViewModel : BaseViewModel, IDataViewModel
{
    private readonly CompositeDisposable _disposable;
    private readonly CancellationTokenSource …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml mvvm oxyplot

2
推荐指数
1
解决办法
5393
查看次数

如何在 OxyPlot 中仅重置 Y 轴/X 轴

我正在将 OxyPlot 用于 WPF。有一个函数 ResetAllAxes() 可以重置两个轴。如何仅重置 X 或 Y 轴?谢谢

c# wpf oxyplot

2
推荐指数
1
解决办法
861
查看次数