一种基于saas的出版物平台图形生成方法

文档序号:8257930阅读:222来源:国知局
一种基于saas的出版物平台图形生成方法
【技术领域】
[0001]本发明涉及一种基于SAAS的出版物平台图形生成方法,特别涉及的是基于SAAS技术的图形生成技术。
【背景技术】
[0002]随着信息技术的高速发展以及云计算技术的出现,所有信息数据都将放在云中包括图形数据,但是一般我们的图形生成都是将数据导入Excel电子表格,然后使用Excel内置的绘图功能手动生成图形。这种做法适用于大多数情况,但是如果基础数据频繁更改,则手动创建图形可能很快就变得枯燥乏味,基于上述原因,本人发明了一种简单又快速的图形生成方法。
[0003]

【发明内容】

[0004]一种基于SAAS的出版物平台图形生成方法;本方法是利用VS2008中的DynamicDataDisplay类库以及自定义的BugInfo类、LoadBugInfo方法及构建数组等一些例操作实现此方法,此步骤:
(I).首先声明一个泛型列表对象buglnfoList,并使用一个程序定义的帮助器方法 (名为LoadBugInfo)将文件BugInf0.txt中的虚拟数据填充到该列表中; public class BugInfo { public DateTime date; public int numberOpen; public int numberClosed;
public BugInfo(DateTime date, int numberOpen, int numberClosed) { this, date = date; this.numberOpen = numberOpen; this.numberClosed = numberClosed;
}
}
利用LoadBugInfo方法打开文件并遍历该文件,分析每个字段,然后实例化BugInfo对象,并将每个BugInfo对象存储到结果列表中。
[0005]private static List<BugInfo> LoadBugInfo (string fileName)
{
var result = new List<BugInfo>();
FileStream fs = new FiIeStream(fiIeNamej FileMode.0pen);
StreamReader sr = new StreamReader(fs);
,-1.// //
string line = ; while ((line = sr.ReadLine ()) != null)
{
string口 pieces = line.Split (J:J);
DateTime d = DateTime.Parse(pieces[0]); int numopen = int.Parse (pieces[I]); int numclosed = int.Parse (pieces[2]);
BugInfo bi = new BugInfo (d,numopen, numclosed); result.Add (bi);
}
sr.Close (); fs.Close (); return result;
}
使用File.ReadAllLines方法将数据文件中的所有行读入一个字符串数组,对三个数组进行声明并赋值.DateTime[] dates = new DateTime[buglnfoList.Count]; int口 numberOpen = new int [buglnfoList.Count]; int口 numberClosed = new int[buglnfoList.Count]; for (int i = 0; i < buglnfoList.Count; ++i)
{
dates[i] = buglnfoList[i].date; numberOpen[i] = buglnfoList[i].numberOpen; numberClosed[i] = buglnfoList[i].numberClosed;
}
将数据数组转换为特殊的EnumerableDataSource类型.var datesDataSource = new EnumerableDataSource<DateTime>(dates); datesDataSource.SetXMapping(x => dateAxis.ConvertToDouble (x)); var numberOpenDataSource = new EnumerableDataSource<int>(numberOpen); numberOpenDataSource.SetYMapping(y => y);
var numberClosedDataSource = new EnumerableDataSource<int>(numberClosed);numberClosedDataSource.SetYMapping(y => y);
(2)对于DynamicDataDisplay库,要绘制的所有数据都必须为统一格式。只是将三个数据数组传递给泛型EnumerableDataSource构造函数。此外,必须告知该库与每个数据源关联的轴(X轴或y轴)。SetXMapping和SetYMapping方法接受将方法委托作为参数。使用了 lambda表达式来创建匿名方法,而不是定义显式委托。DynamicDataDisplay库的基本轴数据类型是double。SetXMapping和SetYMapping方法将我的特殊数据类型映射到double类型。
[0006]在X轴上,使用ConvertToDouble方法将DateTime数据显式转换为double类型。在y轴上,我只是编写y => y (读作“y转为y”),将输入int y隐式转换为输出double y。我也可以通过编写SetYMapping(y => Convert.ToDouble (y)来显式进行类型映射。可以任意选择X和y作为lambda表达式的参数,即,我可以使用任意参数名称。
[0007]AddLineGraph方法接受CompositeDataSource,后者定义要绘制的错误以及有关确切的绘制方式的信息。此处,我指示名为plotter的绘图器对象执行以下操作:使用粗细为2的蓝色线条绘制一个图形,放置具有红色边框和红色填充且大小为10的圆圈标记,并添加系列标题Number bugs open。作为许多备选方法中的一种(plotter.AddLineGraph(compositeDataSourcel, Colors.Red, 1,"Number Open"))可以使用来绘制不带标记的细红色线条也可以创建虚线而不是实线:
Pen dashedPen = new Pen (Brushes.Magenta, 3);dashedPen.DashStyle = DashStyles.DashDot;plotter.AddLineGraph (compositeDataSourceI, dashedPen,new PenDescript1n (〃0pen bugs〃))。
【主权项】
1.一种基于SAAS的出版物平台图形生成方法:该方法主要是利用VS2008中的DynamicDataDisplay 库类型。
2.根据权利要求1的图形生成方法,此方法主要利用计算机语言VS2008中的DynamicDataDisplay库类型中的一些类型综合利用ChartPlotter元素、定义的泛型列表对象buglnfoList、特殊的EnumerableDataSource类型以及构建数组,通过赋值于DynamicDataDisplay 类库中的 SetXMapping 和 SetYMapping 方法。
3.根据权利要求2的图形生成方法通过ChartPlotter元素,将对象buglnfoList进行定义。
4.根据权利要求3的图形生成方法将EnumerableDataSource类型以及构建数组,通过赋值于 DynamicDataDisplay 类库中的 SetXMapping 和 SetYMapping 方法。
【专利摘要】一种基于SAAS的出版物平台图形生成方法:对计算机图形显示中的一个复杂问题——隐藏线的消隐问题进行了研究。并结合信号分析中信号的三维图形显示问题,阐述了基于画家算法的图形快速消隐处理的三维图形生成方法。在此基础上,巧妙利用VS2008中的库函数,探讨了三维网格图的生成方法,并非常方便地实现了三维图形的拉伸、旋转。
【IPC分类】G06F9-44
【公开号】CN104572050
【申请号】CN201310489897
【发明人】不公告发明人
【申请人】镇江鼎拓科技信息有限公司
【公开日】2015年4月29日
【申请日】2013年10月18日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1