这儿说的二维图,指的是类似Matlab的imagesc这种命令画出来的图像,用颜色来表示数据的大小或者说强弱。简单地说,就是一个二维数组,里面存放的数据用颜色来表示。做雷达SAR图像、ISAR图像经常要用这个来显示。

teechart可以完成这个功能。自己琢磨了半天,终于搞清楚一点点——网上关于这方面的资料太少了。

我用的是Series中的3D-> Colorgrid

步骤:

(1)准备工作参见我上一篇博文:

(2)在VC界面上添加了Teechart控件之后,手动添加Series,它会自动命名为Series0、Series1。多个Series,会依次从上往下排列。注意:这个名字中的0/1跟排名没有关系,即你可以吧Series1移到Series0之前。最终代码中的m_tchart.Series(0),这个0指的是在Series列表中第一项!!而并不一定是名字叫做Series0的那项!类似地,m_tchart.Series(1) 指的是排名第二的那个曲线,跟名字无关。

(3)添加这个Series,选择的类型是3D->Colorgrid。添加完毕后出现在Series列表里头,双击可以编辑一些属性。例如Grid 3D->Range,可以选择你想要的用来表示数值大小的颜色类型(Start,middle,end)。

(4)可以根据需要编辑tchart的显示属性,在此不表。

(5)添加代码:

COleSafeArray XX;  //color grid的横坐标

COleSafeArray ZZ;  //color grid的纵坐标,与我们常用的Y一样

COleSafeArray YY; // 表示的是颜色的值,不是Y轴

DWORD numElements[] = {180001};

XX.Create(VT_I4, 1, numElements);

YY.Create(VT_R8, 1, numElements);

ZZ.Create(VT_I4, 1, numElements);

long xIndex;

long zIndex;

long i=0;

for (xIndex=0; xIndex<90; xIndex++)

{

for (zIndex=0; zIndex<2000; zIndex++)

{

double val =zIndex*xIndex;  //二维数组对应的值

YY.PutElement(&i,&val);

XX.PutElement(&i,&xIndex);

ZZ.PutElement(&i,&zIndex);

i++;

}

}

m_tchart.Series(0).GetAsColorGrid().AddArrayXYZ(XX,YY, ZZ);

(6)上面这段代码的一些说明。

首先,因为Series(0)已经被我们在设计阶段就手动添加了,所以没有必要在代码中加上

m_tchart.AddSeries(0);

其次,上面说了,这个m_tchart.Series(0)里面的0跟Seriesx名字中的0或者1无关,这儿的0表示你在列表中的第一项。

再次,m_tchart.Series(0).GetAsColorGrid()表示这个Series类型是ColorGrid,如果我们改用m_tchart.Series(0).GetAsPolarGrid(),程序运行时会报错。因为我们在设计阶段添加的Series类型是ColorGrid,而不是PolarGrid。

最后,因为使用了GetAsColorGrid,需要在头文件中包含:

#include ".\teechart\PolarGridSeries.h"

.\teechart\是我自己存放的目录名字,根据你自己的路径修改。

还是那句话,如果在编译的时候报错信息是使用了未声明的类,即把对应的类的.h文件包含进来即可。

teechart的addarray_用Teechart画二维成像图相关推荐

  1. python画二维矩阵图_Python实现二维数组输出为图片

    Python实现二维数组输出为图片 对于二维数组,img_mask [[ 0 0 0 ..., 7 7 7] [ 0 0 0 ..., 7 7 7] [ 0 0 0 ..., 7 7 7] ..., ...

  2. python画二维折线图_利用python画折线图

    # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * #支持中文 mpl.rcParams['font.sans-s ...

  3. matlab画直方图下标,matlab画二维数据直方图/画二维概率分布

    数据来自混合高斯分布 ![](http://www.forkosh.com/mathtex.cgi? \large Y=0.3X_1+0.6X_2+0.1X_3) 随机变量的均值如下, 各分量之间相互 ...

  4. 使用canvas画二维码

    使用canvas画二维码 需要使用 qrcode 依赖 具体代码如下 <template><div><canvas ref="code">< ...

  5. MATLAB-最简单基础的画二维图(点图、折线图、拟合曲线)

    之前写过一篇关于画matlab折线图的博客,但是写的非常潦草.也算是为了以后自己方便看,打算重新把画二维图部分再写一下,因此有了这篇博客. 画二维图形主要使用plot函数,使用方法说明:(官网) 1. ...

  6. MATLAB scatter 画二维/三维散点图时 用颜色表示数值大小 colorbar

    MATLAB scatter 画二维/三维散点图时 用颜色表示数值大小 自己在编程的时候,没有在网上找到很好的解释. 所以把我的代码贴出来,给遇到同样问题的盆友一个参考~ 带注释.看不懂的地方可以给我 ...

  7. matlab小白入门学习(一)画三维图和二维动图

    好久前就打算搞matlab了,但是python实在太香,今天开始呢,就打算更新一个matlab学习的集合 我用的是2018a版,但是都差不多,matlab所有的文件都是.m结尾的,而且语言风格我感觉像 ...

  8. python画二维温度云图_一种画二维温度场彩色云图的新方法

    一种画二维温度场彩色云图的新方法 刘永军 ; 李宏男 [摘 要] 介绍一种画二维温度场彩色云图的新方法 , 其特点是算法简单 , 结果精确 , 易于编程 . [期刊名称] <图学学报> [ ...

  9. (三)matplotlib3.0画三维图(二维热图)

    教程示例 """ matplotlib3.0三维图 mayuhua 2020.5.17 """from mpl_toolkits impor ...

  10. 机器人系统设计与制作:Python语言实现2.4 用LibreCAD生成机器人的二维CAD图

    2.4 用LibreCAD生成机器人的二维CAD图 我们来看看LibreCAD的主界面,如图2-3的屏幕截图所示. 图2-3 LibreCAD主界面图 左边的CAD工具栏是绘制模型必不可少的组件,图2 ...

最新文章

  1. mysql 5.5 declare_MySQL5新语句declare的用法
  2. 使用case when进行行转列
  3. imitativesimulate
  4. H5_ 多媒体video,autio使用示例
  5. JavaScript学习(五十一)—实训题
  6. EOS开发dApp前需要了解的五件事
  7. 转载文章:Microsoft 将僵尸网络威胁智能分析程序引入云中以提供近实时数据
  8. U盘未识别驱动器需要格式化
  9. RN开发模型,供参考
  10. 如何进行大数据入门的学习
  11. sin傅里叶变换公式_傅里叶变换公式(傅里叶变换常用公式)
  12. 计算机配置很高 但是很卡,电脑配置高但很卡_电脑配置很高但还是很卡是怎么回事啊?...
  13. python 超级秒表
  14. 公众号第三方平台开发 教程六 代公众号使用JS SDK说明
  15. 2015年上半年数据库系统工程师考试上午真题
  16. iphone5刷android,iphone5s怎么刷机 简单几招搞定iOS【图文教程】
  17. 数据结构与算法实验6——图论 7-9 哥尼斯堡的“七桥问题”
  18. 如何挑选无线路由器?
  19. 软路由自建iptv服务器,LEDE软路由 iPTV 实现任意端口看电视的方法
  20. ThinkPad T61安装win7下的指纹识别软件,解决E7210005问题

热门文章

  1. appscan 下载
  2. Maven无法下载com.oracle:ojdbc14:jar解决方法
  3. Cknife(中国菜刀) and AntSword(中国蚁剑)使用
  4. 使用for循环打印出大写字母的ASCII码对照表(c语言实现)
  5. 多旋翼无人机动力、运动学建模及仿真
  6. [Linux 高并发服务器] 信号
  7. AutoCad注册机使用方法
  8. ABAP 销售订单BAPI创建批导程序
  9. WindowsXP-SP2精简美化版【210M】
  10. 计算机无法安装蓝牙驱动,windows10系统安装蓝牙驱动图文教程|windows10系统如何安装蓝牙驱动...