如何更改 OxyPlot Y 轴字符串格式?

Posted

技术标签:

【中文标题】如何更改 OxyPlot Y 轴字符串格式?【英文标题】:How to change OxyPlot Y-Axis string format? 【发布时间】:2014-09-15 02:27:54 【问题描述】:

谁能告诉我如何更改Y轴字符串格式??

我有想要添加百分号的 Y 轴百分比。

我正在使用 OxyPlot 在 wpf 中生成图表。

这是我的尝试,但它不起作用:

Func<double, string> formatFunc = (x) => string.Format("000.00%", x);

        formatFunc = new Func<double,string>("0");
        // Add the plot to the window
        line.YAxis.LabelFormatter = formatFunc;

这会产生空引用错误。

谢谢!

【问题讨论】:

你看过这些例子吗?有一个专门针对LabelFormatter。仅供参考,示例图表位于网站上,因此您可以找到您正在寻找的功能,然后查看该示例:oxyplot.org/ExampleBrowser 在“轴示例”标题下的大约十分之一处,是“LabelFormatter”。 不,我不知道这些例子存在。我刚刚离开谷歌搜索。我去看看。现在肯定觉得自己很笨...谢谢! 不,我也经历过同样的事情。书签。我相信这些示例的代码包含在 OxyPlot 源代码中,因此您可以根据需要自行构建和运行它,但我认为没有太大必要。通常,找一个做类似事情的例子,浏览代码,然后调整你的。顺便说一句,如果这有助于解决您的问题,请告诉我,我会将其转为答案。 @Steve 您指向的网站已不存在。您必须下载 github 代码并自己编译 ExampleBrowser(除非它在其他地方可用)。 【参考方案1】:

这是我之前用来在氧绘图上格式化 x 轴的示例:

var xAxis = new DateTimeAxis

    Position = AxisPosition.Bottom,
    StringFormat = "dd/MM/yyyy",
    Title = "End of Day",
    IntervalLength = 75,
    MinorIntervalType = DateTimeIntervalType.Days,
    IntervalType = DateTimeIntervalType.Days,
    MajorGridlineStyle = LineStyle.Solid,
    MinorGridlineStyle = LineStyle.None,
;

Plot = new PlotModel();
Plot.Axes.Add(xAxis);

【讨论】:

【参考方案2】:
        this._PlotModel.Axes.Add( new LinearAxis
        
            Position = AxisPosition.Left,
            Minimum = 0.025,
            Maximum = 0.205,
            StringFormat = "0.00%",
            MajorStep = 0.005
         );

- 添加百分比作为比率:20.5% --> 0.205、0.5% --> 0.005 等。

【讨论】:

以上是关于如何更改 OxyPlot Y 轴字符串格式?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Oxyplot 创建方形绘图区域

鼠标滚轮时的oxyplot轴锁定中心

如何使用 ggplot 更改轴上数字的格式?

OxyPlot 中日期时间轴上的不规则间隔

氧图。如何将轴旁边的值格式从 1000 更改为 1k

echars 折线图Y轴