找回密码
 立即注册

QQ登录

只需一步,快速开始

马晓峰

初级会员

28

主题

99

帖子

239

积分

初级会员

积分
239

活字格认证

马晓峰
初级会员   /  发表于:2014-8-25 15:24  /   查看:15120  /  回复:19
根据应力值做云图,三天内每天的应力值与测点之间的关系图,共4条测线(每条测线10个测点),

谁有相关例子,关于c1chart3D 控件绑定数据 画云图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

19 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-8-25 17:49:00
沙发
回复 1楼马晓峰的帖子

你好。这是我们的在线Sample地址:http://www.gcpowertools.com.cn/p ... winform_democlk.htm
里面有C1Chart3D的示例。
或者在安装C1 for WinForms后,在如下路径得到示例:C:\Users\username\Documents\ComponentOne Samples\Studio for WinForms\ControlExplorer\Chart
SurfaceCharts就是有关3DChart的详细代码。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
马晓峰
初级会员   /  发表于:2014-8-25 18:40:00
板凳
回复 2楼Alice的帖子

你好,你给的地址不是在线演示的,,,我用本地的但是加载到vs2010中警告        1        文件中的类都不能进行设计,因此未能为该文件显示设计器。设计器检查出文件中有以下类:

        SurfaceCharts --- 未能加载基类“ControlExplorer.C1DemoForm”。请确保已引用该程序集并已生成所有项目。                0        0       


还是给我个在线的吧
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-26 10:22:00
地板
回复 3楼马晓峰的帖子

1.链接地址是一个需要安装的Sample,下载安装后是一个可执行的exe文件。页面里有详细安装步骤。
2.本地的Demo出错的问题未能重现,可以检查下是否引用的dll有冲突或是Debug下查找出错的在哪里。
3.如果上述两种方式都不适合,可以到产品博客参考如下的文章,文章里C1Chart3D的讲解,附件有Demo。运行该文章的Demo,将二维投影checkbox选中,就可以得到3D投影图。
链接:http://blog.gcpowertools.com.cn/ ... hart-Finacial2.aspx
附件是从博客下载的Demo,并进行了修改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
马晓峰
初级会员   /  发表于:2014-8-26 17:35:00
5#
回复 4楼Alice的帖子

bianhao3 = (string[])arraylist3[0];
shijian3 = (string[])arraylist3[1];

yinglizhi3 = (double[])arraylist3[2];
我把数据库中的数据读取出来三列,分别放到arraylist数组中,
现在我只需要bianhao3设为x轴数据,将yinglizhi3数据绑定到y轴,做出渐变 云图。二维的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-26 18:20:00
6#
回复 5楼马晓峰的帖子

根据你的需求,其实4#的Sample已经能够完成你的需求,但需稍微更改代码。
基本思路如下:
1.将C1Chart3D的类型设置为Surface图表,代码参考:
  1. c1Chart3D1.ChartGroups.Group0.ChartType=Chart3DTypeEnum.Surface;
复制代码

2.将X轴数据和钻孔编号相对应,并设置X轴的标签为钻孔编号那一列的内容。代码参考:
  1. Chart3DAxis x = c1Chart3D1.ChartArea.AxisX;
  2.             x.ValueLabels.Add(0, "钻孔01");
  3.             x.ValueLabels.Add(1, "钻孔02");
复制代码

3.获取c1Chart3D1.ChartGroups.Group0.ChartData.SetGrid,并设置这个grid的rowcount和columnCount。
4.将深基点应力的值填入Chart3DDataSetGrid。
5.将3DChart进行二维投影,代码参考:
  1. c1Chart3D1.ChartArea.View.View3D = View3DEnum.XY_2D_Neg;
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
马晓峰
初级会员   /  发表于:2014-8-28 08:32:00
7#
回复 6楼Alice的帖子

你好,demo看不懂啊,我的代码如下,
         云图.ChartGroups.Group0.ChartType = Chart3DTypeEnum.Surface;


            Chart3DAxis x = 云图.ChartArea.AxisX;
            Chart3DAxis y = 云图.ChartArea.AxisY;
            
            x.ValueLabels.Add(0, "钻孔1");
            x.ValueLabels.Add(1, "钻孔2");
            x.ValueLabels.Add(2, "钻孔3");
            x.ValueLabels.Add(3, "钻孔4");
            x.ValueLabels.Add(4, "钻孔5");
            x.ValueLabels.Add(5, "钻孔6");
            x.ValueLabels.Add(6, "钻孔7");
            x.ValueLabels.Add(7, "钻孔8");
            x.ValueLabels.Add(8, "钻孔9");
            x.ValueLabels.Add(9, "钻孔10");
            
         

            云图.ChartArea.AxisX.Title = "测点编号";
            云图.ChartArea.AxisX.AnnoMethod = C1.Win.C1Chart3D.AnnotationMethodEnum.ValueLabels;
            云图.ChartArea.AxisX.AnnoPosition = AnnoPositionEnum.Near;
            云图.ChartArea.AxisX.MajorGrid.IsOnXYPlane = true;
            云图.ChartArea.AxisX.MajorGrid.IsOnXZPlane = true;
            云图.ChartArea.AxisX.MajorGrid.Style.Color = SystemColors.ControlDarkDark;


            Chart3DDataSetGrid grid = 云图.ChartGroups.Group0.ChartData.SetGrid;
            
                 grid.RowCount = 10;
                 grid.ColumnCount = 4;

               //  DataRowView view = rows as DataRowView;
               //  DataRow r = view.Row;

                grid[0, 1] = 5;
                grid[1, 1] = 6;
                grid[2, 1] = 2;
                grid[3, 1] = 10;
                //y.ValueLabels.Add(1, );
           

            云图.ChartArea.View.View3D = View3DEnum.XY_2D_Neg;


现在我想在x=钻孔1,处给4个值,(1,1)=5   ,(1,2)=10,(1,3)=2 ,(1,4)=4,其他x处也是分别给定4个值,该如何做呢??您可以帮我写下代码吗。

另外x轴坐标颜色比较浅,看不清 “ 钻孔1”之类的,您可以帮忙解决一下吗。。。
回复 使用道具 举报
马晓峰
初级会员   /  发表于:2014-8-28 08:35:00
8#
回复 6楼Alice的帖子

还有一个问题,如何让x轴  长一点
回复 使用道具 举报
马晓峰
初级会员   /  发表于:2014-8-28 08:41:00
9#
回复 6楼Alice的帖子

这是我画的图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-28 12:26:00
10#
回复 7楼马晓峰的帖子

-->在x=钻孔1,处给4个值,(1,1)=5   ,(1,2)=10,(1,3)=2 ,(1,4)=4,其他x处也是分别给定4个值。
回答:X,Y,Z轴的对应关系,如下图所示:
Y0Y1Y2
X0Z[0,0]Z[0,1]Z[0,2]
X1Z[1,0]Z[1,1]Z[1,2]
X2Z[2,0]Z[2,1]Z[2,2]

这个表格和C1Chart3D.ChartGroups.Group0.ChartData.SetGrid里的Grid是对应关系。
假设,需要给x=钻孔1处赋值,就可以赋值为:
grid[x0,y0]=z00;
grid[x0,y1]=z01;
grid[x0,y2]=z02;
......
因为钻孔1在x轴值是0,所以x0=0,y0=0,y1=1,y2=2,......

--->X轴的标签字体颜色。
回答:可以通过c1Chart3D.ChartArea.Style来设置字体颜色和字体大小。代码参考:
  1. Style style= this.c1Chart3D1.ChartArea.Style;
  2. style.ForeColor = Color.Black;
  3. style.Font = new Font("Arial", 12);
复制代码

---->X轴的大小
可以通过设置Max,Min属性更改调节轴的范围。
比如:
  1. Chart3DAxis x = c1Chart3D1.ChartArea.AxisX;
  2. x.Max = 40;
  3. x.Min = 0;
复制代码

另外,可以选择不同的图表类型来画不同类型的图。
步骤:
1.在设计时,选择C1Chart3D。
2.打开任务菜单。
3.选择设计器。
4.在弹出的设计器里,种类选择surface图表,形式选择你的需求。看了你附图的效果,5,6,8,9。可以用来画阴影,登高线或投影。
设计器的样子如下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部