利用ecGraph3D图表画出三维图

By admin at 2021-01-27 • 0人收藏 • 457人看过

GIF.gif

最近有个需求是画出数据三维图, 于是用到了之前写过的ecgraph3d这个控件

数据从excel中获取, 然后写入到这个控件里, 这里利用aardio的string.database来处理csv格式的excel , 比较简单.

这个界面是我集成在另外一个软件上面的, 这里只分享下这个界面里面的数据处理.

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio工程13";right=959;bottom=591)
winform.add(
picturebox={cls="picturebox";left=0;top=0;right=960;bottom=592;db=1;dl=1;dr=1;dt=1;z=1}
)
/*}}*/

import fsys.dlg;
path = fsys.dlg.open("csv文件|*.csv","请选择CSV文件");
if(!#path) return;

var ec3dG = winform.picturebox.createEmbed("{0EA4ABD6-7D38-4C8F-B976-D1CFDDA4525C}");
var ec3dObj = ec3dG._object;
ec3dObj.RegisterecGraph3D("XXXXX-XXXXX-XXXXX-XXXXX-XXXXX");
 
import string.database;
var strDb = string.database(",");

var zData = strDb.parse(string.load(path)); //解析数据
//table.remove(zData,#zData);
var nx,ny=#zData,#zData[1];

with ec3dObj{
    Reset();
    ClearColorBands();
    SimpleColorBand(-80, 0, 0xD01212, 0x0000FF) 
	PlotStyle = 3 //'PlotStyle: 0=waterfall, 1=slabs, 2=ribbons, 3=mesh, 4=columns
    RenderStyle = 1 //'RenderStyle: 0=Gradient, 1=solid, 2=wireframe, 3=axes only
    Skirt = 0 //
    AddDataArray(nx-1, 0, nx, ny-1, 0, ny, zData)
    Refresh();  
}


winform.show();
win.loopMessage();
return winform;

如果你需要测试上面的代码的话, 就下载下面这个csv文件吧.

这个三维控件, 自己去找我之前发的链接吧.

提示: 按住ctrl+鼠标左键拖动 可以放大三维图查看细节, 按住shift+鼠标左键拖动 可以上下移动图表.

Book4.zip


登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前在学aardio+halcon机器视觉.
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
苏扬博客:苏扬博客
C大Aardio论坛:Aar爱好者论坛
简码教程网:简码编程
AARDIO语言QQ群:70517368
本 站 主 站:Stm32cube中文网
Htmlayout界面在线学习文档
Sciter中文在线文档Sciter在线学习文档
aardio在线手册Aardio在线手册

赞助商:才仁机械
下载站:非凡软件站
Loading...