VC用mschart画散点图,画不上去,是线。。急!

heilongka 2009-09-09 11:17:00
很急,很烦!
guan_chart.SetTitleText("散点图");
guan_chart.SetChartType(16);
guan_chart.SetShowLegend(FALSE);
guan_chart.SetStacking(FALSE);


guan_chart.SetColumnCount(2); //问题出在这里,可是我不懂,这句话产生了线。
aa->guan_chart.SetRowCount(2);

aa->guan_chart.SetRow(1);

aa->guan_chart.GetDataGrid().SetData(1,1,90,0);//90是我随便设的数字
为什么设置成了点图,还是有线呢,我的点就是上不去。。。。
谢谢各位高手!
...全文
276 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsxsxs 2009-11-18
  • 打赏
  • 举报
回复
楼主,请教一下 aa->guan_chart.GetDataGrid().SetData(1,1,90,0);//90是我随便设的数字
这一句要是想显示数据库或者数组中的数据,该怎么弄啊,该把90改成什么。
wtw1221 2009-09-22
  • 打赏
  • 举报
回复
这个问题解决了么?我也想知道答案
webing520 2009-09-11
  • 打赏
  • 举报
回复
http://www.qqgb.com/Program/VB/VBJQ/Program_215623.html

也可以参考一下这个。
webing520 2009-09-11
  • 打赏
  • 举报
回复
网上摘抄的一段说明,希望可以帮到你。这个主要是VB做的,你可以转到VC中,也比较简单。

首先MSChart是可以画散点图的,这个不容置疑,如果要画散点图,请选择VtChChartType2dXY类型,如果不知道怎么选,我附加一个完整的代码:
Dim index As Integer
index = 1
'设置图标类型为非自动选择,这样可以设置为自己需要的类型
MSChart1.Plot.SeriesCollection.Item(index).SeriesMarker.Auto = False
With MSChart1.Plot.SeriesCollection.Item(index).DataPoints.Item(-1).Marker
.Visible = True ‘散点的点是否可见
.Size = 120 ’散点的大小
.Style = VtMarkerStyleFilledDiamond ‘选择菱形的
.FillColor.Automatic = False ’颜色不自动填充
.FillColor.Set 10, 100, 200 ‘设置为深蓝色
.Pen.VtColor.Set 10, 100, 200 ’同样这个也必须设置,否则中间有默认的颜色
End With
下面的我就不注释了,下面的网上可以找到
With MSChart1
.Backdrop.Frame.SpaceColor.Set 255, 255, 255
.RandomFill = False
.Plot.SeriesCollection(index).Pen.VtColor.Set 10, 100, 200

.Plot.Axis(VtChAxisIdX).ValueScale.Auto = True
.Plot.Axis(VtChAxisIdY).ValueScale.Auto = True

.Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0
.Plot.Axis(VtChAxisIdX).AxisGrid.MinorPen.Style = VtPenStyleNull
.Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 10
.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleNull
.Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleSolid

.Plot.LocationRect.Min.X = 0
.Plot.LocationRect.Min.Y = 0
.Plot.LocationRect.Max.X = .Width
.Plot.LocationRect.Max.Y = .Height

.Plot.UniformAxis = False

.ChartType = VtChChartType2dXY
With .Plot.Backdrop.Fill
.Style = VtFillStyleBrush
.Brush.FillColor.Set 192, 192, 192
End With
End With

到此,只能说可以画VtChChartType2dXY的图了,但是是带连线的,如果说想不带连线,那么我们可以隔一个点填充一个数据就可以了。此时出来的就是散点图了。
webing520 2009-09-09
  • 打赏
  • 举报
回复
运行了一下,确实产生了线,楼主能否把需要达到的效果描述清楚一些呢!
heilongka 2009-09-09
  • 打赏
  • 举报
回复
在线等,我查了一些人做的,可是用过来没结果。。。
heilongka 2009-09-09
  • 打赏
  • 举报
回复
谢谢!
而且线就是guan_chart.SetColumnCount(2); 这句话造成的。。。
我想把一系列的数据用点图显示出来,然后用右键删除数据偏离大的点(离群点)
我就是想做一个误差点删除的工作,可是现在点就是显示不了

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧