欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > OxyPlot 学习笔记

OxyPlot 学习笔记

2024/12/4 16:18:49 来源:https://blog.csdn.net/qi_1213/article/details/144206196  浏览:    关键词:OxyPlot 学习笔记

常用属性

一、PlotModel 模型

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;                            //坐标轴刻度距离
}
***其他属性****
RenderingDecorator  //渲染装饰器
Subtitle            //子标题
Title               //标题
TitleHorizontalAlignment    //标题和子标题的水平对齐方式***只读属性****
ActualPlotMargins   //实际图表边距
PlotView            //图表视图
PlotBounds          //图表边界
Width ​              //图表宽
Height              //图表高
PlotAndAxisArea     //包含图表和坐标轴的区域
PlotArea            //图表区(不包含坐标轴和图例)
TitleArea           //标题区域
DefaultAngleAxis        //默认角轴
DefaultMagnitudeAxis    //默认级轴
DefaultXAxis            //默认X轴
DefaultYAxis            //默认Y轴
DefaultColorAxis        //默认颜色轴

二、Axis 坐标轴

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;                  //数据最小值
}//其它属性
CropGridlines           //是否在开始和结束位置裁切与坐标轴垂直的网格线
ExtraGridlines          //额外的网格线
Key                     //坐标轴的键
LabelFormatter          //标签格式化方法
PositionAtZeroCrossing  //是否放置在相关坐标的零交点
StringFormat            //格式化字符串
Title                   //坐标轴标题
TitleFont               //标题字体
Unit                    //单位
UseSuperExponentialFormat   //是否使用上标指数格式//只读属性
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的键

四、Annotation 注解

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

五、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     //是否显示不可见的序列数据的图例

常用操作说明

操作功能
鼠标控件区域滚动同时缩放X轴和Y轴内容
鼠标X轴标尺上滚动缩放X轴方向内容
鼠标Y轴标尺上滚动缩放Y轴方向内容
Ctrl+双击鼠标右键曲线图内容自适应显示
Ctrl+鼠标右键画框放大选定区域
双击鼠标中键曲线图内容自适应显示
鼠标中键画框放大选定区域

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com