OxyPlot:如何使用轴标签格式化程序并显示 Y 标签?

2023-12-15

我在 Xamarin.iOS 项目中使用 Oxyplot 来绘制条形图。

这就是我的图表目前的样子

enter image description here

这里不是 x 轴值,而是数字,我想显示 sun、mon true、wed......

我可以看到 CategoryAxis 有一个名为 LabelFormatter 的方法,它返回Func<double, string>,但我该如何使用它呢?

还有为什么 Y 轴标签不显示?

public class MyClass
{
    /// <summary>
    /// Gets or sets the plot model that is shown in the demo apps.
    /// </summary>
    /// <value>My model.</value>
    public PlotModel MyModel { get; set; }

    /// <summary>
    /// Initializes a new instance of the <see cref="OxyPlotSample.MyClass"/> class.
    /// </summary>
    public MyClass()
    {

        var model = new PlotModel { Title = "ColumnSeries" };
        model.PlotAreaBorderColor = OxyColors.Transparent;
        // A ColumnSeries requires a CategoryAxis on the x-axis.

        model.Axes.Add(new CategoryAxis()
        {
            Position = AxisPosition.Bottom,
            MinorTickSize = 0,
            MajorTickSize = 0,
            //MajorGridlineStyle = LineStyle.Solid,
            //MinorGridlineStyle = LineStyle.Solid,
        });

        model.Axes.Add(new LinearAxis()
        {
            AxislineStyle = LineStyle.None,
            Position = AxisPosition.Left,
            MinorTickSize = 0,
            MajorTickSize = 0,
            MajorGridlineStyle = LineStyle.Solid,
            MinorGridlineStyle = LineStyle.Solid,
            Minimum = 0,
            Maximum = 400,
        });

        var series = new ColumnSeries();
        series.Items.Add(new ColumnItem() { Value = 200, Color = OxyColors.Orange});
        series.Items.Add(new ColumnItem(200));
        series.Items.Add(new ColumnItem(300));
        series.Items.Add(new ColumnItem(100));
        series.Items.Add(new ColumnItem(200));
        series.Items.Add(new ColumnItem(100));
        series.Items.Add(new ColumnItem(130));

        model.Series.Add(series);

        this.MyModel = model;
    }
}

要在轴上显示标签,您必须指定属性MajorStep,Oxyplot 将仅绘制与主要步骤匹配的标签。

model.Axes.Add(new LinearAxis()
{
    MajorStep = 10,
    Position = AxisPosition.Left,
    ...
});

要修改带有日期名称的标签,您可以使用DateTimeAxis代替LinearAxis:

model.Axes.Add(new DateTimeAxis()
{
    StringFormat = "ddd",
    Position = AxisPosition.Bottom,
    ...
});

如果你想要更多定制的东西,你将不得不使用LabelFormatter属性。

EDIT:

CategoryAxis 中的标签:

var categoryAxis = new CategoryAxis()
{
    Position = AxisPosition.Bottom,
    ...
};

categoryAxis.ActualLabels.Add("Mon");
categoryAxis.ActualLabels.Add("Tue");
categoryAxis.ActualLabels.Add("Wed");
categoryAxis.ActualLabels.Add("Thu");
categoryAxis.ActualLabels.Add("Fri");
categoryAxis.ActualLabels.Add("Sat");
categoryAxis.ActualLabels.Add("Sun");

Model.Axes.Add(categoryAxis);

CategoryAxis.ActualLabels是只读的,因此您必须一项一项地添加项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OxyPlot:如何使用轴标签格式化程序并显示 Y 标签? 的相关文章

  • 获取 TextBox 中的文本行数

    我试图通过标签显示文本框中的文本行数 但是 问题是如果最后一行为空 标签必须显示没有空行的行号 例如 如果它们有 5 行 最后一行为空 则标签应将行数显示为 4 Thanks private void txt CurrentVinFilte
  • C++ 中的“int”默认是“signed long int”吗?

    Is int默认情况下signed long int in C 它是否依赖于平台和 或编译器 如果是这样 怎么办 EDIT 以下任何一项是否保证是重复的 signed short int signed int signed long int
  • 静态 OpenCV 库中未定义的引用

    我有一个使用 OpenCV 3 1 的 C 项目 并且使用共享库可以正常工作 但现在我想使用静态库 位于项目目录中的文件夹中 来编译它 因为我希望能够在未安装 OpenCV 的情况下导出它 如果需要还可以编辑和重新编译 这次我重新编译了 O
  • 尽管浮点数相同,但它们并不相等? [复制]

    这个问题在这里已经有答案了 下面的程序输出This No is not same 当两个数字相同时为什么会这样做 void main float f 2 7 if f 2 7 printf This No is same else prin
  • C# 实体框架我们应该使用 POCO.Id 还是仅使用 POCO 设置关系?

    我在服务方法中遇到一种情况 将 POCO 分配为另一个 POCO 的子对象无法按预期工作 我正在使用实体框架 4 public void ChangeOrderCurrency Currency currency order Currenc
  • 适用于 iOS 的 MvvmCross 汉堡菜单

    我在用着https www marcbruins nl xamarin ios hamburger menu mvvmcross https www marcbruins nl xamarin ios hamburger menu mvvm
  • 多线程 - 比单线程慢

    当我使用多个线程而不是单线程运行程序时 它会变慢 不是应该更快吗 该程序应该遍历从起始目录开始的所有目录 并查找并打印所有名为 X 的文件 代码如下 while done pthread mutex lock lock if list is
  • 从 Golang 调用 C 函数

    我想在 Golang 中编写控制器逻辑并处理 json 和数据库 同时在 C 中使用我的数学处理模型 在我看来 调用 C 函数的开销必须尽可能低 就像设置寄存器 rcx rdx rsi rdi 一样 执行一些操作fastcall 并获取 r
  • 多个线程访问一个变量

    我在正在读的一本教科书中发现了这个问题 下面也给出了解决方案 我无法理解最小值怎么可能是 2 为什么一个线程不能读取 0 而所有其他线程都执行并写入 1 而无论是1还是2 最后写入的线程仍然必须完成自己的循环 int n 0 int mai
  • 根据 Active Directory 策略检查密码[重复]

    这个问题在这里已经有答案了 我有一个允许用户更改其 AD 密码的前端 有没有办法获取特定用户及其属性 长度 复杂性 的密码策略 例如细粒度 有没有办法根据此特定策略检查字符串 xyz121 编辑 我不想检查活动目录中存储的当前密码 我想检查
  • 在 Windows 上使用 C/C++ 开发时省略 msvcr100.dll?

    是否可以在 Windows 上使用 C C 进行开发而不链接到 msvcr100 dll 我知道这是 Windows 的标准 c 库 但我想知道如果我没有安装 Visual Studio 或 Redistributable 软件包 我的计算
  • 如果项目包含多个文件夹,如何使用 Add-Migration

    我想Add Migration使用我的 DbContext 但出现错误 The term add migration is not recognized as the name of a cmdlet function script fil
  • 使用联合对 IP 地址进行多种解释?

    在工作中 我们使用以下构造来将 IP 地址解释为 4 字节数组或 32 位整数 union IPv4 std uint32 t ip std uint8 t data 4 这很好用 但是读完这本书的第 97 章 不要使用联合来重新解释表示
  • 模板定义中的友元函数

    我的问题有点相关this https stackoverflow com questions 1297609 overloading friend operator for template class one 我想重载某些类的运算符 te
  • 如何在 SQLite 中检查数据库是否存在 C#

    我目前正在用 C 编写一个应用程序 并使用 sqlite 作为嵌入式数据库 我的应用程序在启动时创建一个新数据库 但如何让它检查数据库是否存在 如果它确实存在 我如何让它使用它 如果不存在如何创建一个新数据库 这是我到目前为止所拥有的 pr
  • 按 Enter 继续

    这不起作用 string temp cout lt lt Press Enter to Continue cin gt gt temp cout lt lt Press Enter to Continue cin ignore 或更好 in
  • C# 和断点 - 这里有魔术师吗?

    我有这个 public static void ByLinkText string text for var i 0 i lt 50 i try Setup Driver FindElement By LinkText text Click
  • 在两个点之间创建一条曲线,每个点都具有标准化向量

    因此 我需要一种写入方法来在两点之间创建一条曲线 每个点都有一个指向任意方向的归一化向量 我一直在尝试设计这样一种方法 但一直无法理解数学 在这里 由于一张图片胜过一千个文字 这就是我所需要的 在图中 矢量垂直于红线 我相信向量需要进行相同
  • 如何获取运行或段落的高度

    我找到了Run or Paragraph in FlowDocument现在我需要知道HEIGHT of it i e while navigator CompareTo flowDocViewer Document ContentEnd
  • 有没有办法在 C# 中仅通过文件名查找文件?

    我们现在使用绝对路径或相对路径在 C 应用程序中查找文件 如果文件位于当前工作目录下或 路径 之一下 有没有办法仅通过名称查找文件 使用绝对路径不好 使用相对路径也不够好 因为我们可能通过重命名或移动项目文件夹来更改项目结构 如果我们的代码

随机推荐

  • 将按钮插入 JFreeChart 图形中

    我使用代码来显示图表 我想在此图中插入一个按钮 显示详细信息 我将使用该按钮来显示有关该图的一些详细信息 它可以实现吗 谢谢 if jCheckBox3 isSelected try con getConnection jdbc mysql
  • 不使用keras后端库的自定义损失函数

    我正在将 ML 模型应用于实验设置以优化驱动信号 驱动信号本身是被优化的东西 但它的质量是间接评估的 它被应用于实验装置以产生不同的信号 我能够通过 python 中的函数运行实验并收集数据 我想设置一个带有自定义损失函数的 ML 模型 该
  • JS 如何在语句块中声明没有词法作用域的变量和函数?

    var a function a a 60 console log 1 a console log 2 a var b b 60 function b console log 3 b console log 4 b 输出是 1 60 2 f
  • Keycloak 提供者和用户存储

    我有一个正在运行的 java ee 应用程序 现在我想将 keycloak 集成为身份验证服务器 我唯一遇到的麻烦是用户存储 我想在我的java应用程序中拥有所有用户数据 现在的问题 如果用户在 keycloak 前端注册 我的 java
  • 如何从内存中删除多个 pandas (python) 数据帧以节省 RAM?

    我在预处理过程中创建了很多数据帧 由于我的 6GB RAM 有限 我想从 RAM 中删除所有不必要的数据帧 以避免在 scikit learn 中运行 GRIDSEARCHCV 时内存不足 1 是否有一个函数可以仅列出当前加载到内存中的所有
  • 在 MATLAB 中叠加两个图像

    我想在matlab中叠加两个相同尺寸的图像 我尝试使用imfuse功能 但我得到的图像与我想要的不一样 第一张图像是对原始图像应用 Canny 边缘检测器后获得的图像的负片 我想将这个带有黑边的负片图像强加到我的原始图像上 有人可以建议一些
  • 使用 selenium 和 python 等待表完全加载

    我想从表中的页面中抓取一些数据 所以我只关心表中的数据 早些时候我使用Mechanize 但我发现有时会丢失一些数据 特别是在表格底部 谷歌搜索 我发现这可能是由于 mechanize 不处理 Jquery Ajax 造成的 所以我今天改用
  • 找不到 swig.exe:尝试安装 pylinkgrammar 0.2.14 时出错

    当我尝试安装 pylinkgrammar 0 2 14 时出现错误 包括 pylinkgrammar setup py 错误的构建轮 命令 swig exe 失败 没有这样的文件或目录 构建 pylinkgrammar 失败 我该如何解决此
  • 如何使用属性文件配置 log4j

    如何让 log4j 获取属性文件 我正在编写一个 Java 桌面应用程序 我想使用 log4j 在我的主要方法中 如果有这个 PropertyConfigurator configure log4j properties 当我打开 Jar
  • 从页面/组件中的服务共享相同的 Observable

    我正在尝试订阅相同的内容Observable多次但不起作用 我有一个提供者可以为我提供Observable from AngularFirestore目的 这是我的提供者 Injectable export class MyProvider
  • 如何根据多行中的值对数据框的列进行排序?

    例如 df pd DataFrame x 1 1 1 2 3 3 y a a c b b b ct pd crosstab df x df y ct y a b c x 1 2 0 1 2 0 1 0 3 0 2 0 如何根据 row1 r
  • 功能制作

    嗨 我是函数式编程的新手 我所做的是 gt gt gt g lambda x x 2 gt gt gt f g gt gt gt g lambda x f f x gt gt gt g 9 36 现在 它还没有创建g作为一个不间断的递归函数
  • 如何在脚本中使用跳转主机/跳转服务器

    我需要编写一个脚本 以便能够在我们安全的场外实验室中的测试服务器上运行命令 问题是这些测试服务器位于跳转服务器 跳转主机后面 我手动输入 bash ssh A jumphost jumphost ssh server1 或者我编辑了我的个人
  • F# 中的 NullReferenceException

    当我单步执行以下代码时 report第二行为空 但是 第三行生成 NullReferenceException member this setTaggedResearchReportList index int taggedResearch
  • org.codehaus.jackson.map.JsonMappingException:无限递归(StackOverflowError)

    我正在尝试一些非常基本的网络服务 每次尝试返回 Prtnr 对象时都会出现此异常 Uncaught exception thrown in one of the service methods of the servlet spitter
  • 通过 JS 中的 XMLHttpRequest 对象发布表单数据? (跨浏览器)

    我试图在 js 中发布表单数据 我有这个代码 var formData new FormData formData append username Groucho formData append accountnum 123456 form
  • 使用Java将XSD转换为树结构

    我想生成 XML 模式的文档 我的目标是分析 xsd 文件并将其显示为树结构 解析所有复杂 匿名类型 此外 我需要用其基数 由模式定义 来注释该树中的所有项目 下面的小例子可能有助于澄清我的问题 a xsd 文件
  • Xamarin中的接口回调

    我正在尝试使用 C 从 Xamarin 内部的 java 库编写接口回调 下面是代码片段 Connector getInstance login email new ILoginCallback Override public void o
  • 仅从 SIM 卡获取本地电话簿联系人 android

    我想知道是否可以仅获取 SIM 卡或电话簿中存在的联系人 现在我正在使用以下代码来获取联系人 它会获取所有联系人 甚至是我的 Gmail 和 Facebook 联系人 Cursor cursor getContentResolver que
  • OxyPlot:如何使用轴标签格式化程序并显示 Y 标签?

    我在 Xamarin iOS 项目中使用 Oxyplot 来绘制条形图 这就是我的图表目前的样子 这里不是 x 轴值 而是数字 我想显示 sun mon true wed 我可以看到 CategoryAxis 有一个名为 LabelForm