OxyPlot.WPF 公共属性一览

2022-12-06 18:59:50 浏览数 (1)

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 轴范围裁剪

完。

0 人点赞