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