vb.net chart.min.js显示图例 运行时只有图例series 其余空白

vb.net Mschart控件简单实例
我的图书馆
vb.net Mschart控件简单实例
这几天公司制造部门所使用的程序中需要添加曲线图显示功能,因为以前没有做过这方面的开发,所以一直在网上找实例以便快速掌握技巧,将曲线图功能尽快做出来,通过google的搜寻,很失望,绝大部分MsChart控件方面的实例都是基于C++的,后来经过自己的慢慢摸索及参考C++实例方面的语法,然后通过自己的实践,掌握了部份功能,故将以下实例贴出给初次接触此控件的朋友参考.
原图见下链接
所需环境:Visual Studio 2008.net平台升级至3.5 sp1Mschart 控件、MSChart_VisualStudioAddOn、MSChartLP_chs
首先在vb.net 2008中新建一个项目,然后新增一个名为form1的表单,将工具栏上的chart控件拖动到form1上,调整好具体位置。再将工具栏上的timer控件拖动到form1上,并设置间隔时间为1分钟或其它你觉得比较合适的时间,此时表单上的控件都已经完成,然后添加如下代码:
Imports System.Windows.Forms.DataVisualization.ChartingPublic Class Form1&&& Dim random As New Random()&&& Dim pointIndex As Integer&&& Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
&&&&&&& Chart1.ChartAreas.Clear()’清除所有绘图区&&&&&&& Dim newChartAreas1 As New ChartArea("Default")‘新增绘图区&&&&&&& Chart1.ChartAreas.Add(newChartAreas1)&&&&&&& Chart1.ChartAreas("Default").BackColor = Color.FromName("GradientInactiveCaption")’设置绘图区颜色&&&&&&& Chart1.ChartAreas("Default").BackGradientStyle = GradientStyle.HorizontalCenter‘设置绘图区颜色渐变方式&&&&&&& Chart1.ChartAreas("Default").AxisX.IsMarginVisible = True&&&&&&& 'Chart1.ChartAreas("Default").Area3DStyle.Enable3D = True‘启用3D显示&&&&&&& Chart1.ChartAreas("Default").AxisX.Title = "时间"'X轴名称&&&&&&& Chart1.ChartAreas("Default").AxisY.Title = "数量"'Y轴名称&&&&&&&&&&&&& Chart1.Titles.Clear()&&&&&&& Dim newTitles1 As New Title("产品生产管制图") '建立标题&&&&&&& newTitles1.Text = "产品生产管制图"&&&&&&& Chart1.Titles.Add(newTitles1)
&&&&&&&& Chart1.Series.Clear()’清除所有数据集&&&&&&& Dim newSeries1 As New Series("标准值")'新增数据集&&&&&&& newSeries1.ChartType = SeriesChartType.Line’直线&&&&&&& newSeries1.BorderWidth = 2&&&&&&& newSeries1.Color = Color.Blue&&&&&&& newSeries1.XValueType = ChartValueType.Time&&&&&&& newSeries1.IsValueShownAsLabel = False&&&&&&& Chart1.Series.Add(newSeries1)
&&&&&&& Dim newSeries2 As New Series("生产量")&&&&&&& newSeries2.ChartType = SeriesChartType.Line&&&&&&& newSeries2.BorderWidth = 2&&&&&&& newSeries2.Color = Color.Green&&&&&&& newSeries2.XValueType = ChartValueType.Time&&&&&&& newSeries2.IsValueShownAsLabel = True&&&&&&& newSeries2.MarkerStyle = MarkerStyle.Square&&&&&&& Chart1.Series.Add(newSeries2)
&&&&&&& Dim newSeries3 As New Series("下限值")&&&&&&& newSeries3.ChartType = SeriesChartType.Line&&&&&&& newSeries3.BorderWidth = 2&&&&&&& newSeries3.Color = Color.OrangeRed&&&&&&& newSeries3.XValueType = ChartValueType.Time&&&&&&& newSeries3.IsValueShownAsLabel = False&&&&&&& Chart1.Series.Add(newSeries3)&&&&&& End Sub
&&& Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick&&&&&&& Dim current_time As DateTime&&&&&&& current_time = DateTime.Now&&&&&&& Chart1.Series("标准值").Points.AddXY(current_time, 90)&&&&&&& Chart1.Series("生产量").Points.AddXY(current_time, random.Next(20, 75))&&&&&&& Chart1.Series("下限值").Points.AddXY(current_time, 15)&&&&&& End SubEnd Class
[转]&[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢问:在VB中,有没有能够绘制对数坐标网格的控件?我需要绘制一些曲线图.但是在VB的控件中找不到这样的控件.向各位大侠们!答:在控件中选择MSChart控件.全称是Microsoft Chart Cool..相关的作说明可参考MSDN帮助系统.
问:vb用MSCHART控件把时间当作X轴答:vb用MSCHART控件画一个坐标轴,并且把时间作为X轴MSCHART太多.你用其他的图表DLL很多的.而且更好用,美观.可以第一时间收到“提问有新回答”“回答被采纳”“网友求助”的。...
问:怎样才能把表里的数据转换成以坐标来表现啊?需要把VFP里的数据(表)转换为以x为横坐标,y为纵坐标的形式来表现,该怎么...答:标准的办法是用MSChart控件生成图表简单的办法是根据表里的数据求出最大值,计算显示比例,然后画一个坐标,根据坐标值把表中的数据用Line画出来就行了。:...
问:vb中MSChart中怎样去修饰X轴刻度值的显示?答:用sleep可以 Private Declare Sub Sleep Lib"kernel"(ByVal dwMilliseconds As Long)Shell"cmd/c echo#-c:senable.txt"sleep Shell"cmd/c echo#接口 IP配置c:s...
问:帮忙写个VB程序题目的要求如下建立一个图表显示应用程序。(、图形、多重窗体、对话框设计...答:因量较大,故提供如下码供参考,你可改动码来满足要求.必须自己动手,才能从中掌握VB图形功能精髓.关于随机的读写作请查阅谭浩强的"QBASIC语言教程"'...
问:VC下用MsChart,同样的设置,X轴显示正常,Y轴显示字符根本看不... VC下用MsChart,同样的设置,X轴显示正常,Y轴显示字符根本看不清楚 m_Chart....答:MSChart的中文支持不太好,中文竖起来显示的话会失真很多,你可以把x轴的文字竖起来试试简直不能看 GetPlot().GetAxis(,var).GetLabels().GetItem(i+).SetAuto...
问:问一个调用数据库的问题!如果我用从access调来的数据画曲线!有没有现成的控件可以使用,或者其他的方法...答:使用MSChart控件使用MSChart控件可以按照一定的范将数据以图表的形式绘制出来。可以通过在控件的属页中设置数据来创建图表,或者也可以从其它数据源,...
问:在vc下用mschart件画图X轴设置的问题!我想让X轴也和Y轴一样设置一下最大值,并且把X轴分成十份,请问怎么解决?答:你是用的vc哪个版本,我用的vs,里面没有mschart控件,我也要做个这个趋势图,请教一下怎么安装这个控件的!我的:wenlong
问:Mschart的问题,已经安装和过了,可添加控件时依然...Mschart的问题,已经安装和过了,可添加控件时依然提示未实例化。用vs...答:VS中使用ACTIVEX控件时出现“未能实例化控件*,因为这需要设计时”,请拿出VS.的安装盘,在VisualStudioInstExtrasVB Cools目录...
问:C#中MSchart控件X轴时间显示问题答:可以手动调整数据为时间格式的数据 series.XValueType=ChartValueType.Tseries.ToolTip="时间:#VALX值#VALY;series.Points.AddXY(DateTime.Parse(item.time...
问:请问我打开网页时为什么老是跳出未找到CLSID的框框,...请问我打开网页时为什么老是跳出未找到CLSID的框框,关都关不掉,打不开...答:解决.每一个ActiveX控件都必须在表中后才能出现在VB的“工程-部件”菜单中。VB在安装时已经替了大量的控件。如ms mon cool。某些支持...
问:vbmschart的问题 Option Explicit Dim intC As Integer Dim dblStep As Double Dim p,i,num,pl,l...答:将MSChart.ChartData=MyData'数据放到for循环后面就好了最后部分应该是 For i= To MyData(i,)=i'-x轴坐标值-MyData(i,)=*Sin(dblStep*i)+'-...
问:在VB中,使用MsChart的问题?在使用MSChart时,使用EditCopy命令时,出现错误,提示剪贴板不能打开.此问题并...答:查一下是否是在WINXP情况下出现此类问题,如果是则是VB.与WINXP某些版本存在冲突.
问:VBMSCHART控件X轴整数显示问题请问MSCHART控件中X轴整数显示问题设置自动变换.Plot.Axis(VtChAxisIdX)....答:Plot.Axis(VtChAxisIdX).ValueScale.Maximum=.'设置横轴标注最大值.Plot.Axis(VtChAxisIdY).ValueScale.Maximum=.'设置纵轴标注最大值我想.Plot.Axis...
08-1708-1608-2509-04
03-1104-1004-0404-02
◇本站云标签chart控件使用_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
chart控件使用
C# 学习绘图控件
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩6页未读,
定制HR最喜欢的简历
你可能喜欢VS2013中没有chart控件
[问题点数:40分]
本版专家分:0
结帖率 60%
CSDN今日推荐
本版专家分:1968
本版专家分:0
本版专家分:371
本版专家分:15
本版专家分:5
匿名用户不能发表回复!|
CSDN今日推荐问题如下:使用MSCHART控件做出类似下面这个图形的图来。
经过一些摸索给出如下答案:Private Sub Command1_Click()Dim MyData(0 To 4, 0 To 15) As StringDim iRow As Integer'损失时间H---第1行'次品数PCS---第2行'调机/转型号 H---第3行'报废 KG---第4行MyData(1, 0) = "损失时间"MyData(2, 0) = "次品数"MyData(3, 0) = "调机/转型号"MyData(4, 0) = "报废"For i = 1 To 15MyData(0, i) = i & Space(1) '注意一定要后面的space(1),这样做的目的是为了自动显示成标签(字符串类型)Next'第1行数据初始化(注意,为0的数据不要赋值)iRow = 1MyData(iRow, 1) = 189: MyData(iRow, 2) = 280: MyData(iRow, 3) = 233MyData(iRow, 6) = 338: MyData(iRow, 7) = 356'第2行数据初始化iRow = 2MyData(iRow, 1) = 227: MyData(iRow, 2) = 190: MyData(iRow, 3) = 172MyData(iRow, 6) = 189: MyData(iRow, 7) = 232'第3行数据初始化iRow = 3MyData(iRow, 1) = 72: MyData(iRow, 2) = 145: MyData(iRow, 3) = 120MyData(iRow, 6) = 140: MyData(iRow, 7) = 205'第4行数据初始化iRow = 4MyData(iRow, 1) = 36.01: MyData(iRow, 2) = 37.05: MyData(iRow, 3) = 39.31MyData(iRow, 6) = 32.99: MyData(iRow, 7) = 37.98
With MSChart1'------------------图线标记外观设置开始----------------------------------------------------------------For iRow = 1 To 4 '本循环设置4条线标记的大小,线的粗细
.Plot.SeriesCollection(iRow).SeriesMarker.Auto = False
With MSChart1.Plot.SeriesCollection(iRow).DataPoints.Item(-1).Marker
.Visible = True: .Pen.Width = 10: .Size = 150
End WithNext'下面的语句单独设置每条线标记的图案类型'第一行标记iRow = 1.Plot.SeriesCollection(iRow).DataPoints.Item(-1).Marker.Style = VtMarkerStyleFilledCircle '圆形'第二行标记iRow = 2.Plot.SeriesCollection(iRow).DataPoints.Item(-1).Marker.Style = VtMarkerStyleFilledSquare '方形'第三行标记iRow = 3.Plot.SeriesCollection(iRow).DataPoints.Item(-1).Marker.Style = VtMarkerStyleFilledUpTriangle '三角形'第四行标记iRow = 4.Plot.SeriesCollection(iRow).DataPoints.Item(-1).Marker.Style = VtMarkerStyleStar '*形'------------------图线标记外观设置结束----------------------------------------------------------------'------------------图线外观设置开始----------------------------------------------------------------For iRow = 1 To 4 '本循环设置4条线的粗细及数据值的显示位置
.Plot.SeriesCollection(iRow).Pen.Width = 10
.Plot.SeriesCollection(iRow).DataPoints(-1).DataPointLabel.LocationType = VtChLabelLocationTypeRight
.Plot.SeriesCollection(iRow).DataPoints(-1).DataPointLabel.VtFont.Size = 8
'原图中不显示第一条数据线的数值
If iRow = 1 Then .Plot.SeriesCollection(iRow).DataPoints(-1).DataPointLabel.LocationType = VtChLabelLocationTypeNoneNext'------------------图线外观设置结束----------------------------------------------------------------'------------------坐标轴外观设置开始----------------------------------------------------------------'设置X轴外观.Plot.Axis(VtChAxisIdX).ValueScale.Auto = False.Plot.Axis(VtChAxisIdX).AxisGrid.MinorPen.Style = VtPenStyleNull.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleNull'设置第一Y轴外观.Plot.Axis(VtChAxisIdY).ValueScale.Auto = False.Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 380.Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 19.Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0.Plot.Axis(VtChAxisIdY).AxisGrid.MinorPen.Style = VtPenStyleNull.Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleNull'设置第二Y轴外观.Plot.Axis(VtChAxisIdY2).AxisScale.Hide = True.Plot.Axis(VtChAxisIdY2).ValueScale.Auto = False.Plot.Axis(VtChAxisIdY2).AxisGrid.MinorPen.Style = VtPenStyleNull.Plot.Axis(VtChAxisIdY2).AxisGrid.MajorPen.Style = VtPenStyleNull'------------------坐标轴外观设置结束----------------------------------------------------------------'------------------图例外观设置开始----------------------------------------------------------------.ShowLegend = True.Legend.Backdrop.Frame.Style = VtFrameStyleSingleLine.Legend.Backdrop.Frame.Width = 10.Legend.Location.LocationType = VtChLocationTypeTopRight'------------------图例外观设置结束----------------------------------------------------------------'------------------图形区设置开始----------------------------------------------------------------.Plot.AutoLayout = False.Plot.LocationRect.Min.Set 0, 0.Plot.LocationRect.Max.Set .Width, .Height - 850 '减去图例的高度'------------------图形区设置结束----------------------------------------------------------------.Plot.DataSeriesInRow = True '设置图形按行读取数据.chartType = VtChChartType2dLine '设置图表类型.ChartData = MyDataEnd WithEnd Sub
程序运行后效果如下图
由于时间关系,还不是和原图完全一致,还存在一些小的问题没有解决。等有时间了再来完善,权且当作一个例子供大家参考。
浏览: 1128724 次
来自: 厦门
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
不使用增强器
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'}

我要回帖

更多关于 chart.js 图例 的文章

更多推荐

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

点击添加站长微信