C1Chart纵坐标怎样按照区域设定c chart 背景色色

葡萄城控件产品博客 | 创建C1Chart图表实现交互能力
C1Chart集成了丰富的可交互性。可以让最终用户直接在触摸设备上使用C1Chart。通过设置绘制元素的样式,可以让用户通过鼠标点击或者悬停时高亮需要的值,如最大值、最小值等。对于大数据量或者实时数据,往往需要的是一个图表窗口,添加不断更新的数据,通过滚动或者缩放获取部分或者某一时段的信息走势。对于3D图表,C1Chart3D支持鼠标拖拽,只要使用鼠标就可以完成X、Y、Z三轴任意方向的旋转,满足最终用户的交互需求。
本文讲述了如何创建C1Chart图表,以及其强大的交互能力(缩放,反向,X轴翻转,刻度)。
1.创建C1Chart图表
首先控制C1Chart的交互特性。分别是鼠标驱动旋转、刻度、转换和缩放。具体代码如下;
// Enable interaction
c1Chart1.Interaction.Enabled =
c1Chart1.Interaction.Actions[&Zoom&].Modifier = Keys.N
c1Chart1.Interaction.Actions[&Scale&].Modifier = Keys.C
c1Chart1.Interaction.Actions[&Translate&].Modifier = Keys.S
c1Chart1.Interaction.Actions[&Rotate&].Modifier = Keys.A
c1Chart1.Interaction.Appearance = InteractionAppearance.FillSelectionA
其次建立C1Chart的序列。本文的Demo建立了四条Series,分别是电导率,Ph,温度和压力。这四条序列分别用不用颜色区别表示。具体代码如下:
// Create chart series
c1Chart1.ChartGroups[0].ChartData.SeriesList.Clear();
cdsTemp = c1Chart1.ChartGroups[0].ChartData.SeriesList.AddNewSeries();
cdsPress = c1Chart1.ChartGroups[0].ChartData.SeriesList.AddNewSeries();
cdsCond = c1Chart1.ChartGroups[0].ChartData.SeriesList.AddNewSeries();
cdsPh = c1Chart1.ChartGroups[0].ChartData.SeriesList.AddNewSeries();
cdsTemp.SymbolStyle.Shape = SymbolShapeEnum.N
cdsTemp.LineStyle.Color = Color.FromArgb(150, 32, 132);
cdsTemp.LineStyle.Thickness = 2;
cdsPress.SymbolStyle.Shape = SymbolShapeEnum.N
cdsPress.LineStyle.Color = Color.FromArgb(42, 2, 153);
cdsPress.LineStyle.Thickness = 2;
cdsCond.SymbolStyle.Shape = SymbolShapeEnum.N
cdsCond.LineStyle.Color = Color.FromArgb(0, 114, 160);
cdsCond.LineStyle.Thickness = 2;
cdsPh.SymbolStyle.Shape = SymbolShapeEnum.N
cdsPh.LineStyle.Color = Color.FromArgb(100, 126, 52);
cdsPh.LineStyle.Thickness = 2;
最后创建C1Chart的轴和滚动条。具体代码如下:
// Setup chart axes and scrollbar
c1Chart1.ChartArea.AxisX.ScrollBar.Scale = 0.1;
c1Chart1.ChartArea.AxisY.ScrollBar.Scale = 1.0;
c1Chart1.ChartArea.AxisX.ScrollBar.Alignment = StringAlignment.N
c1Chart1.ChartArea.AxisY.ScrollBar.Alignment = StringAlignment.N
c1Chart1.ChartArea.AxisX.ScrollBar.Appearance = ScrollBarAppearanceEnum.XP;
c1Chart1.ChartArea.AxisY.ScrollBar.Appearance = ScrollBarAppearanceEnum.XP;
c1Chart1.ChartArea.AxisX.ScrollBar.Visible =
c1Chart1.ChartArea.AxisY.ScrollBar.Visible =
c1Chart1.ChartArea.AxisY.ScrollBar.Max = 80;
c1Chart1.ChartArea.AxisY.ScrollBar.Min = 20;
c1Chart1.ChartArea.AxisX.ScrollBar.AxisScroll += new AxisScrollEventHandler(ScrollBar_AxisScroll);
2.初始化C1Chart,加载数据
在本文的附件Demo中,通过C1XLBook的Load方法,加载excel文件里的数据。excel文件包含C1所需的四个序列(电导率、Ph、温度、压力)的多个数据。并且这四个序列可以在运行时动态的增加或减少,即用户可以选择显示哪个序列的图表。具体可以参考附件Demo中的代码。
3.C1Chart交互
用户很简单的就能实现C1的交互(翻转、刻度、反向和缩放)。
缩放:对于大数据量或者实时数据,往往需要的是一个图表窗口,添加不断更新的数据,用户只用通过滚动或者缩放就可以获取部分或者某一时段的信息走势。
放大的参考代码:
// Zoom out
c1Chart1.ChartArea.AxisX.ScrollBar.Scale = c1Chart1.ChartArea.AxisX.ScrollBar.Scale / _zoomS
c1Chart1.ChartArea.AxisY.ScrollBar.Scale = c1Chart1.ChartArea.AxisY.ScrollBar.Scale / _zoomS
缩小的参考代码:
// Zoom in
c1Chart1.ChartArea.AxisX.ScrollBar.Scale = c1Chart1.ChartArea.AxisX.ScrollBar.Scale * _zoomS
c1Chart1.ChartArea.AxisY.ScrollBar.Scale = c1Chart1.ChartArea.AxisY.ScrollBar.Scale * _zoomS
X轴翻转:在本文Demo中,用户只需点击X轴翻转的CheckBox,C1Chart就立即能实现翻转,代码的实现也异常简单,只需一句,如下所示。
c1Chart1.ChartArea.AxisX.Reversed = chkAxisXReversed.C
反向:用户可以对C1Chart的图表进行X轴、Y轴的反向,在设置Bool类型的C1Chart.ChartArea.Inverted属性后,重新绘制图表元素的样式。具体代码可以见附件Demo。
刻度:在本文附件的Demo中,用户可以轻松的得到图表某一刻度点的值。只需用鼠标轻轻移动DrillPoint,所需要的值就通过期望的方式展示出来,比如高亮,悬浮,提示等。本文Demo通过不同的颜色标记出DrillPoint的值。具体代码可以见附件Demo。
不仅如此,在运行时可以更改数据源,以便获取所需的图表。比如,如下图所示图表。
本文Demo的源代码如下:
转载声明:欢迎将本站文章进行转载、演绎或用于商业目的,转载时请注明以下信息文章转自:葡萄城控件产品博客,.cn原文地址:.cn/post//C1Chart-Interaction.aspx
(12) (17) (13) (12)
(15) (27) (25) (25) (24) (8) (20) (22) (16) (15) (4) (13)
(11) (28) (10) (36) (22) (23) (33) (37) (13) (15) (7) (12)
(23) (21) (26) (18) (20) (31) (30) (21) (8) (22) (18) (16)
(16) (225) (2)WebChart的使用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
WebChart的使用
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩22页未读,继续阅读
你可能喜欢学习关于.NET图表插件c1chart的属性说明
关于.NET图表插件c1chart的属性说明
关于.NET图表插件c1chart的属性说明
ComponentOne Studio
Enterprise是最大最全面的组件工具集,能够支持Windows、Web和移动程序所有层面的开发。
假设c1Chart1为Chart控件的一个实例。
一、基本框架图
二、主要外层属性(即this.c1Chart1的主要属性)1、Header和Footer,上标题和下标题。位于this.c1Chart1.Header和
this.c1Chart2、Legend。图例, 位于this.c1Chart.Legend。3、 ChartArea。图表区,位于this.chartLSQS.ChartArea。包括图形、坐标轴、坐标轴标题等内容。4、chartGroups,图形组,位于
this.c1Chart1.ChartGroups,包括两个组(只有this.c1Chart1.ChartGroups[0]和
this.c1Chart1.ChartGroups[1],不能添加和删除),每个图形组都有绘图类型(如折线图、饼图等)、绘图数据。第一个图形组
chartGroups[0]是针对主Y轴this.c1Chart1.ChartArea.AxisX进行数据及绘图类型操作,第二个图形组
chartGroups[1]是针对副Y轴this.c1Chart1.ChartArea.AxisX进行操作。三、ChartArea的主要成员(即this.c1Chart.ChartArea的
主要属性)1、AxisX,
AxisY和AxisY2,图形坐标。大多数图形含有x、y两个坐标;某些图形含有
x、y、y2三个坐标;某些特殊图形没有坐标,如饼图。其主要子属性和方法包括:
& (1)Alignment,设置坐标轴标题对齐方式,如中间对齐、左对齐、右对齐,或上对齐、下对齐。当且
仅当(20),即text属性不为空时有用。& &
(2)AnnoFormat,
设置坐标轴刻度显示格式,可设为数字格式和日期时间格式。对于数字格式,可设为常规数字、货币、指数、百分数、周期和十六进制数字。对于日期时间格式
(dateTime),可设为长日期、短日期、长时间、短时间、国际标准时间等格式。& &
(3)AnnoFormatString。当AnnoFormat设为数字时,可以设置数字字符串,
如"0.00"、"0.00%",当AnnoFormat设置为日期时间格式,则可设时间字符串,如"yyyy-MM-dd"。& &
(4)AnnoMethod。坐标轴刻度值标签可设置两种状 态:ValueLabels和
Values。ValueLabels表示坐标轴标签可设为自定义字符或其他形式,见(23)。Values表示坐标轴标签只为数字。& &
(5)AnnotationRotation。将坐标轴刻度
标签旋转角度,范围在+-30°到+-60°之间。& &
(6)AutoMajor、
AutoMinor。坐标轴主、副刻度是否自动设置,默认为true。& &
(7)AutoMax、AutoMin。坐标轴最大、最小刻度值时候自动设置,默认为true。& &
(8)AutoOrigin。自动设置原点,默认为 true。& &
(9)Compass。坐标轴及
刻度显示方向,x轴一般设为上(north)、下(south);y轴一般设为左(West)、右(East)。& &
(10)GridMajor、GridMinor。进行主、副网格的颜色、线
型、间距、粗细、是否显示,若不设置其子属性spacing或将spacing设为0,网格的间距跟刻度UnitMajor、UnitMinor一一对
应。若设置spacing,则网格间距依赖于spacing。& &
(11)IsLogarithmic。设置坐标轴是否为对数坐标轴。& &
(12)LogarithmicBase。double型,当
IsLogarithmic为true时,设置对数的底数,若不设此属性,则底数默认为10。(注意:此属性没有错误捕获和输入限制,若程序中将底数设置
为小于零,程序将立即崩溃!)&
& (13)Max、Min。
坐标的最大、最小刻度值。设置Max、Min时,自动将AutoMax、AutoMin设为false。& &
(14)Name。只读属性,返回坐标轴名称,如X、Y、Y2。& &
(15)OnTop。布尔值,表示坐标轴是否显示在整个图形 的最上层。& &
(16)Origin。
double型,设置坐标原点。给其赋值时,自动将AutoOrigin设为false。& &
(17)Reverse。布尔值,默认为false。设置为true时,该坐标轴
数值大小顺序颠倒。&
& (18)Rotation。
将该坐标轴的标题(即text属性)旋转一定角度,可设为0°、90°、180°、270°。& &
(19)ScrollBar。设置坐标轴滚动条的大小、值、样式(如普通式、平板
式、xp式)及是否显示等属性。&
& (20)Text。
设置坐标轴标题。&
& (21)TickLabel。
设置刻度值标签的显示方法,其值为None表示不显示刻度值标签;为High表示刻度值标签靠近最大值;为Low表示刻度值标签靠近最小值;为
NextToAxis表示刻度值标签靠近轴(在我试的过程中,后三个好像没什么作用,可能没找着用的方法)。& &
(22)UnitMajor、UnitMinor。设置主、副刻度的单位长 度,double。& &
(23)ValueLabels。
设置自定义坐标轴刻度标签,当且仅当前面属性AnnoMethod=ValueLabels时有效,见属性(4)。可添加自定义标签,对每个标签改变其颜
色、显示字符及对应数值等。&
& (24)Visible。
是否显示坐标轴及标签。bool。&
& (25)TickMajor、 TickMinor。设置坐标轴刻度方向,分向内、向外和交叉。& &
(26)GetMax()、GetMin()。得到坐标轴的最大值或最小值。& &
(27)SetMinMax(object newMin,object
newMax)。同
时设置最小值和最大值。2、Inverted。对横 轴、纵轴进行翻转。bool。3、Margins。
指绘图区相对于图表区的空白。即PlotArea相对于ChartArea的空白,可调上、下、左、右的空白。4、PlotArea。绘图区,指实际绘图的区域,不包括坐标轴、坐标轴
标签、坐标轴标题及Margins空白的区域。详细子属性如下:&
&(1)AlarmZones,设置警告区域,将值域设置成各种不同类型的警告区域,如将警报级别由高到低分为蓝色警报、黄
色警报、橙色警报、红色警报。其子成员分别为:& &&
Add()添加一个定义好的警报区域& &&
AddNewZone()添加一个新警报区域& &&
LowerExtent、UpperExtent,double,某警报值域下限和上限,为y轴的值。& &&
NearExtent、FarExtent,double,某警报响应区间的边值,为x轴的值。& &&
BackColor。某警报区的背景表现颜色。& &&
PatternStyle。某警报区的背景图案样式。& &&
PatternVisible。是否显示某警报区的背景图案,bool。& &&
Visible。是否显示某警报区,bool。&
(2)Boxed,是否显示绘图区域边界,bool。& &
(3)GradientStyle和HatchStyle。渐变填充或网格填充绘图区域背景。只能同时使用二 者之一。& &
(4)BackColor和BackColor2。
当GradientStyle和HatchStyle均未设置时,BackColor起作用;当GradientStyle和HatchStyle设置其
一时,二者共同起作用。&
& (5)Opaque。
设置绘图区域背景是否不透明,若否,则绘图区域完全透明,(3)、(4)属性设置皆不起作用。& &
(6)View3D。当图形格式设置成为3D样式时,如3d柱状图,调整3D效
果深度、高度、角度、阴影类型等。&
&5、Style。调整图表区样式。其子属性或方法如下:& &
(1)Autowarp。文字自动换行。在ChartArea中好像不能直接输入文字,故此属性疑无用。& &
(2)BackColor、BackColor2、GradientStyle、
HatchStyle。功能及用法同4中相关内容。& &
(3)Border。可设置图表区边框样式,包括线型、厚度、圆角等。加强了图表区的美观度。& &
(4)其他属性略。可参考4中相关内容。四、
ChartGroups的主要成员(即this.c1Chart.ChartGroups的主要属性)& &
该组件只定义了两个图形组,其中Group0对应x、y坐标轴;Group1对应x、y2坐标轴。ChartGroups主要用来设置图表中的数据。1、ChartType,选择图形类型,如线图、饼图、柱状图、甘特图 等。2、各中图形类型设置属性。包括Pie、Bar、Polar、
Radar、Bubble、HiLoData、Gantt属性。当1被赋予除线形、面积型类型外的某类型,则与之对应的属性设置有效。3、DrawingOrder。绘图优先级,值越大,其对应的
group就越先被绘图。int。4、Is100Percent。
仅当图形类型为柱状图或面积图,并为堆(stack)形式的时候,时有效,如设成true,则图形占据100%值域,然后将y轴定义为百分比轴,并按照各
series的比例重新分配空间。其他图形类型无效。bool。5、 LegendReversed,是否对图例中各曲线(series)进行反排序。bool。6、ShowOutLine,是否显示图形外缘。此属性只对饼图、柱状
图、面积图有效,bool。7、Stacked,各曲线(series)是否按堆排列,bool。8、Use3D,各曲线(series)是否显示为三维样式。若是,则
调整上文标题三·4·(6)中View3D有关参数可调整三维显示样式。若否,上述调整无效。9、ChartData属性,设置图表核心数据。其子成员如下:& &
(1)FunctionsList,添加和设置特定定义的图形。具体用法以后研 究。& &
(2)Hole,设置数据空洞 (data
hole),其值表示x=Hole时,所对应的图表上的点无值,默认为一巨大的值,double。& &
(3)Layout,设置数据排列方法,可设为常规排列法和数组排列法。尚未明白其具体用处。& &
(4)MaxX、MaxY、MinX、MinY。只读属性,返回数据中的x轴最 大、最小值,y轴最大、最小值。& &
(5)PointStyleList,
集合,可设置图表中某一数据点标志的样式、颜色,如方框型、原点型、三角形、菱形等。& &
(6)SeriesList,集合,当需要在同一x轴坐标下显示不同的几条曲线,每条曲线及为一个
Series。如图共有4个Series。
&&&SeriesList可进行添加、删除曲线(series)等操作,对某条曲线(Series)进行设置的子成员如下:& &&
[1]AutoEnumerate,当为true,且不 想为该曲线的x轴赋值时,自动赋x轴的值。& &&
[2]Display,设置是否显示该曲线,可设为显示、隐藏(但图例还在)、不显示等。& &&
[3]FitType,设置该曲线类型,如折线、样条曲线、贝赛尔线,当图形
为线型时有效。&
[4]Label,
设置标题,在图例上显示。&
[5]LegendEntry,设置该曲线的标题、线型、数据点标志是否在图例上显示。& &&
[6]Length、MaxX、MaxY、MinX、MinY。只读属性,返回曲线中数据点的点数、x最大最小值、y最大最
[7]LineStyle,
设置该曲线线型(对柱状图来说,为填充类型)、颜色、厚度等属性。& &&
[8]Offset,只在饼图显示中有效,表示饼图中为了突出显示某块内容,便宜出整个饼图的距离。& &&
&[9]PointData,输入各个点的数据,内有方法
copydatain(),可从数组中直接给图形赋值。& &&
[10]SymbolStyle,该线上所有数据点的标志。& &&
[11]Tag,该线的标签顺序??用法不明
&&&&&[12]X、Y、Y1、Y2、Y3。输入各个轴的数据,内有方法copydatain(),可从数组中直接给图形赋值。
&另外,在下面地址中有这个控件的官方说明,我觉得比较粗略:
/nethelp/c1chart2d/default.htm
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。查看: 1385|回复: 6
c1chart,怎样实现点击,高亮显示数据,没有找到相应的事件。
c1chart,怎样实现点击图标中绘制的柱状图,高亮显示数据,并且取到点击位置的数据。没有找到相应的事件。:|-)
显示ToolTip能帮到你么?
参考如下帖子:
C1Chart有MouseHover和MouseMove事件。
你好,我看了sample。也在用tooltip实现,和你说的一样,但是x轴坐标是时间,应该怎么显示出来,没有实现,请指教。谢谢!
取到tooltip中显示的值,
tooltip显示时间,并且取到显示的值
本帖子中包含更多资源
才可以下载或查看,没有帐号?
不知道你X轴、Y轴显示的是Label还是Value。
如果是Value,又是时间类型。X轴的Value是double类型的,所以你在赋值过程中将DateTime类型用ToOADate方法转成了double值。那么ToolTip展示的是double值,你只要将这个double值再次转成DateTime类型,然后赋值给ToolTip就可以了。
如果是Label,就需要获取Label的值给ToolTip。
C1Chart下有ShowToolTip事件,调用这个事件,可以获取你所要的值并转换成自己需要的值再使用。
代码参考:
private void c1Chart1_ShowTooltip_1(object sender, ShowTooltipEventArgs e)
& && &&&{
& && && && &ChartDataSeries ds = (ChartDataSeries)
& && && && &var value=double.Parse(ds.X[e.PointIndex].ToString());
& && && && &
& && && && &e.TooltipText = DateTime.FromOADate(value).ToShortDateString();
& && &&&}复制代码
收到,谢谢
Powered by}

我要回帖

更多关于 c chart 多个纵坐标 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信