OxyPlot.WPF 公共属性一览

OxyPlot.WPF 公共属性一览

OxyPlot.WPF 公共属性一览

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

 

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

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

https://gitee.com/dlgcy/DLGCY_OxyPlotTester

 

一、PlotModel

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

%title插图%num

 

文字版:

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、其它属性

RenderingDecorator  //渲染装饰器
Subtitle            //子标题
Title               //标题
TitleHorizontalAlignment    //标题和子标题的水平对齐方式

 

3、只读属性

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

 

二、Axis

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

%title插图%num

%title插图%num

 

文字版:

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、其它属性

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

 

3、只读属性

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

 

三、Series

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

 

四、LegendBase

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

Layer               //注解渲染层(默认为AboveSeries)
XAxis               //X轴
XAxisKey            //X轴的键
YAxis               //Y轴
YAxisKey            //Y轴的键
ClipByXAxis         //是否由X轴范围裁剪
ClipByYAxis         //是否由Y轴范围裁剪

 

完。

 

原创文章,转载请注明: 转载自 独立观察员(dlgcy.com)

本文链接地址: [OxyPlot.WPF 公共属性一览](https://dlgcy.com/oxyplot-wpf-public-props/)

关注微信公众号 独立观察员博客(DLGCY_BLOG) 第一时间获取最新文章

%title插图%num

发表评论