前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OxyPlot.WPF 公共属性一览

OxyPlot.WPF 公共属性一览

作者头像
独立观察员
发布2022-12-06 18:59:50
4.4K0
发布2022-12-06 18:59:50
举报

OxyPlot.WPF 公共属性一览

目录

OxyPlot.WPF 公共属性一览

一、PlotModel

1、构造函数中设置的属性

2、其它属性

3、只读属性

二、Axis

1、构造函数中设置的属性

2、其它属性

3、只读属性

三、Series

四、LegendBase

五、Annotation

独立观察员 2021 年 6 月 13 日

注意:本文仅供需要时参阅,无休闲阅读属性,前方高能(枯燥),非战斗人员请速速撤离。

注释已提交到码云:https://gitee.com/DLGCY_Clone/oxyplot/tree/dlgcy

另外,之前《OxyPlot.Wpf 图表控件使用备忘》一文的例子程序有了后续,用 OxyPlot 的注解功能添加了一个可拖动的十字游标功能,后面不一定会写关于它的文章,大家感兴趣的话可以先看看代码:

https://gitee.com/dlgcy/DLGCY_OxyPlotTester

一、PlotModel

1、构造函数中设置的属性

文字版:

代码语言:javascript
复制
public PlotModel()
{
    this.Axes = new ElementCollection(this);              // 坐标轴集合;
    this.Series = new ElementCollection(this);            // 线条集合;
    this.Annotations = new ElementCollection(this);       // 注解;
    this.Legends = new ElementCollection(this);           // 图例;
    this.PlotType = PlotType.XY;                          // 坐标系类型;


    this.PlotMargins = new OxyThickness(double.NaN);    // 外边距
    this.Padding = new OxyThickness(8);                 // 内边距


    this.Background = OxyColors.Undefined;              // 图表背景
    this.PlotAreaBackground = OxyColors.Undefined;      // 图表区域背景


    this.TextColor = OxyColors.Black;                   // 图表内的字体颜色(标题、图例、注解、坐标轴)
    this.TitleColor = OxyColors.Automatic;              // 标题字体颜色
    this.SubtitleColor = OxyColors.Automatic;           // 子标题字体颜色


    this.DefaultFont = "Segoe UI";                      // 默认字体
    this.DefaultFontSize = 12;                          // 默认字体大小


    this.TitleToolTip = null;                           // 标题提示
    this.TitleFont = null;                              // 标题字体
    this.TitleFontSize = 18;                            // 标题字体大小
    this.TitleFontWeight = FontWeights.Bold;            // 标题字重
    this.SubtitleFont = null;                           // 子标题字体
    this.SubtitleFontSize = 14;                         // 子标题字体大小
    this.SubtitleFontWeight = FontWeights.Normal;       // 子标题字重
    this.TitlePadding = 6;                              // 标题内边距
    this.ClipTitle = true;                              // 是否裁剪标题
    this.TitleClippingLength = 0.9;                     // 标题裁剪矩形长度


    this.PlotAreaBorderColor = OxyColors.Black;             // 图表区域边框颜色
    this.PlotAreaBorderThickness = new OxyThickness(1);     // 图表区域边框大小
    this.EdgeRenderingMode = EdgeRenderingMode.Automatic;   // 边角渲染模式


    this.AssignColorsToInvisibleSeries = true;              // 是否自动分配颜色给不可见的线条
    this.IsLegendVisible = true;                            // 图例是否可见(要使用图例则必须设置线条标题)
    // 默认颜色集合
    this.DefaultColors = new List                
    {
            OxyColor.FromRgb(0x4E, 0x9A, 0x06),
            OxyColor.FromRgb(0xC8, 0x8D, 0x00),
            OxyColor.FromRgb(0xCC, 0x00, 0x00),
            OxyColor.FromRgb(0x20, 0x4A, 0x87),
            OxyColors.Red,
            OxyColors.Orange,
            OxyColors.Yellow,
            OxyColors.Green,
            OxyColors.Blue,
            OxyColors.Indigo,
            OxyColors.Violet
    };


    this.AxisTierDistance = 4.0;                            // 坐标轴刻度距离
}

2、其它属性

代码语言:javascript
复制
RenderingDecorator  // 渲染装饰器
Subtitle            // 子标题
Title               // 标题
TitleHorizontalAlignment    // 标题和子标题的水平对齐方式

3、只读属性

代码语言:javascript
复制
ActualPlotMargins   // 实际图表边距
PlotView            // 图表视图
PlotBounds          // 图表边界
Width               // 图表宽
Height              // 图表高
PlotAndAxisArea     // 包含图表和坐标轴的区域
PlotArea            // 图表区(不包含坐标轴和图例)
TitleArea           // 标题区域
DefaultAngleAxis        // 默认角轴
DefaultMagnitudeAxis    // 默认级轴
DefaultXAxis            // 默认 X 轴
DefaultYAxis            // 默认 Y 轴
DefaultColorAxis        // 默认颜色轴

二、Axis

1、构造函数中设置的属性

文字版:

代码语言:javascript
复制
protected Axis()
{
    this.Position = AxisPosition.Left;              // 坐标轴位置
    this.PositionTier = 0;                          // 坐标轴离图表的距离
    this.IsAxisVisible = true;                      // 坐标轴是否显示
    this.Layer = AxisLayer.BelowSeries;             // 坐标轴层级


    this.ViewMaximum = double.NaN;                  // 视图最大值(用于缩放和平移时)
    this.ViewMinimum = double.NaN;                  // 视图最小值


    this.AbsoluteMaximum = double.MaxValue;         // 坐标轴绝对最大值(数据值范围)(不可缩放和平移超出此限制)
    this.AbsoluteMinimum = double.MinValue;         // 坐标轴绝对最小值


    this.Minimum = double.NaN;                      // 坐标轴固定范围最小值
    this.Maximum = double.NaN;                      // 坐标轴固定范围最大值
    this.MinorStep = double.NaN;                    // 辅刻度线间隔
    this.MajorStep = double.NaN;                    // 主刻度线间隔
    this.MinimumMinorStep = 0;                      // 辅刻度线间隔最小值
    this.MinimumMajorStep = 0;                      // 主刻度线间隔最小值


    this.MinimumPadding = 0.01;                     // 最小值额外空间(0.01 表示 1%)(设置了 Minimum 则此处无效)
    this.MaximumPadding = 0.01;                     // 最大值额外空间
    this.MinimumRange = 0;                          // 最小范围(ActualMaximum-ActualMinimum > MinimumRange)
    this.MaximumRange = double.PositiveInfinity;    // 最大范围(ActualMaximum-ActualMinimum < MinimumRange)
    this.MinimumDataMargin = 0;                     // 最小值的屏幕空间数据边距
    this.MaximumDataMargin = 0;                     // 最大值的屏幕空间数据边距
    this.MinimumMargin = 0;                         // 最小值的屏幕空间边距
    this.MaximumMargin = 0;                         // 最大值的屏幕空间边距


    this.TickStyle = TickStyle.Outside;             // 刻度样式
    this.TicklineColor = OxyColors.Black;           // 刻度线颜色
    this.MinorTicklineColor = OxyColors.Automatic;  // 辅刻度线颜色


    this.AxislineStyle = LineStyle.None;            // 坐标轴线样式
    this.AxislineColor = OxyColors.Black;           // 坐标轴线颜色
    this.AxislineThickness = 1.0;                   // 坐标轴线粗细


    this.MajorGridlineStyle = LineStyle.None;                               // 主网格线样式
    this.MajorGridlineColor = OxyColor.FromArgb(0x40, 0, 0, 0);             // 主网格线颜色
    this.MajorGridlineThickness = 1;                                        // 主网格线粗细


    this.MinorGridlineStyle = LineStyle.None;                               // 辅网格线样式
    this.MinorGridlineColor = OxyColor.FromArgb(0x20, 0, 0, 0x00);          // 辅网格线颜色
    this.MinorGridlineThickness = 1;                                        // 辅网格线粗细


    this.ExtraGridlineStyle = LineStyle.Solid;                              // 额外网格线样式
    this.ExtraGridlineColor = OxyColors.Black;                              // 额外网格线颜色
    this.ExtraGridlineThickness = 1;                                        // 额外网格线粗细


    this.MinorTickSize = 4;                         // 辅刻度大小
    this.MajorTickSize = 7;                         // 主刻度大小


    this.StartPosition = 0;                         // 坐标轴在图表区的起点(0-1)
    this.EndPosition = 1;                           // 坐标轴在图表区的终点(0-1)


    this.TitlePosition = 0.5;                       // 标题位置(0-1)
    this.TitleFormatString = "{0} [{1}]";           // 标题格式化字符串(0 代表 Title,1 代表 Unit)
    this.TitleClippingLength = 0.9;                 // 标题长度(0-1)
    this.TitleColor = OxyColors.Automatic;          // 标题颜色
    this.TitleFontSize = double.NaN;                // 标题字体大小
    this.TitleFontWeight = FontWeights.Normal;      // 标题字重
    this.ClipTitle = true;                          // 是否截断标题


    this.Angle = 0;                                 // 坐标轴标签角度


    this.IsZoomEnabled = true;                      // 是否允许缩放
    this.IsPanEnabled = true;                       // 是否允许平移


    this.FilterMinValue = double.MinValue;          // 可显示的最小值(小等于该值将不会显示)
    this.FilterMaxValue = double.MaxValue;          // 可显示的最大值(大等于该值将不会显示)
    this.FilterFunction = null;                     // 过滤方法


    this.IntervalLength = 60;                       // 主刻度划分份数


    this.AxisDistance = 0;                          // 坐标轴和图表的距离
    this.AxisTitleDistance = 4;                     // 坐标轴标题和标签的距离
    this.AxisTickToLabelDistance = 4;               // 坐标轴刻度和标签的距离


    this.DataMaximum = double.NaN;                  // 数据最大值
    this.DataMinimum = double.NaN;                  // 数据最小值
}

2、其它属性

代码语言:javascript
复制
CropGridlines           // 是否在开始和结束位置裁切与坐标轴垂直的网格线
ExtraGridlines          // 额外的网格线
Key                     // 坐标轴的键
LabelFormatter          // 标签格式化方法
PositionAtZeroCrossing  // 是否放置在相关坐标的零交点
StringFormat            // 格式化字符串
Title                   // 坐标轴标题
TitleFont               // 标题字体
Unit                    // 单位
UseSuperExponentialFormat   // 是否使用上标指数格式

3、只读属性

代码语言:javascript
复制
ActualMajorStep         // 实际主步长
ActualMaximum           // 实际最大值
ActualMinimum           // 实际最小值
ClipMaximum             // 已显示的最大值(由 ActualMaximum 和 MaximumDataMargin 决定)
ClipMinimum             // 已显示的最小值(由 ActualMinimum 和 MinimumDataMargin 决定)
ActualMinorStep         // 实际辅步长
ActualStringFormat      // 实际被使用的格式字符串
ActualTitle             // 实际标题
IsReversed              // 是否被反转(StartPosition > EndPosition)
Offset                  // 偏移(用于在数据和屏幕坐标间转换)
Scale                   // 比例因子(用于在数据和屏幕坐标间转换的换算系数)
ScreenMax               // 最大端的屏幕坐标
ScreenMin               // 最小端的屏幕坐标
DesiredMargin           // 期望边距

三、Series

代码语言:javascript
复制
Background          // 背景色
IsVisible           // 是否可见
Title               // 标题
LegendKey           // 对应的图例的键
SeriesGroupName     // 分组名称
RenderInLegend      // 是否在图例中显示
TrackerFormatString //Tracker 格式化字符串
TrackerKey          // 对应的 Tracker 的键

四、LegendBase

代码语言:javascript
复制
Key                 // 键
IsLegendVisible     // 是否可见
LegendOrientation   // 图例的方向(如果图例被放在图表的左边或者右边,水平方向会转为垂直方向)
LegendPadding       // 图例内边距
LegendSymbolLength  // 图例标志的长度(默认 16)
LegendSymbolMargin  // 图例标志外边距(标志和文字的距离)
LegendSymbolPlacement   // 图例标志位置
LegendTitle             // 图例标题
LegendTitleColor        // 图例标题颜色
LegendTitleFont         // 图例标题字体
LegendTitleFontSize     // 图例标题字体大小
LegendTitleFontWeight   // 图例标题字重
LegendArea              // 图例区域
LegendSize              // 图例尺寸
LegendBackground        // 图例背景色
LegendBorder            // 图例边框色
LegendBorderThickness   // 图例边框粗细
LegendColumnSpacing     // 图例列的间距(只针对垂直方向)
LegendFont              // 图例字体
LegendFontSize          // 图例字体大小
LegendTextColor         // 图例字体颜色
LegendFontWeight        // 图例字体字重
LegendItemAlignment     // 图例项对齐方式
LegendItemOrder         // 图例项排序
LegendItemSpacing       // 水平排列时图例项的空间
LegendLineSpacing       // 图例项垂直间距
LegendMargin            // 图例外边距
LegendMaxWidth          // 图例最大宽度
LegendMaxHeight         // 图例最大高度
LegendPlacement         // 图例摆放位置(内和外)
LegendPosition          // 图例位置
AllowUseFullExtent      // 图例放在外面时是否允许使用图表的完整 extent
ShowInvisibleSeries     // 是否显示不可见的序列数据的图例

五、Annotation

代码语言:javascript
复制
Layer               // 注解渲染层(默认为 AboveSeries)
XAxis               //X 轴
XAxisKey            //X 轴的键
YAxis               //Y 轴
YAxisKey            //Y 轴的键
ClipByXAxis         // 是否由 X 轴范围裁剪
ClipByYAxis         // 是否由 Y 轴范围裁剪

完。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 独立观察员博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OxyPlot.WPF 公共属性一览
  • 一、PlotModel
    • 1、构造函数中设置的属性
      • 2、其它属性
        • 3、只读属性
        • 二、Axis
          • 1、构造函数中设置的属性
            • 2、其它属性
              • 3、只读属性
              • 三、Series
              • 四、LegendBase
              • 五、Annotation
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档