利用ecGraph3D图表画出三维图

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

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


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...