工业级国产精品曲线绘制库CChart 3.0.0.1版发布

baita96 2013-10-20 08:18:51
加精
CChart是一款国产精品曲线绘制库,可以绘制多种二维、三维曲线,包括折线图、等高线图、云图、饼图、柱图、散点图、面积图、直方图、极线图、甘特图、雷达图、瀑布图等,具有非常全面的功能。而且CChart内部选项极为丰富,无论是曲线本身,还是标题、坐标轴、图例、背景等部分,都有大量的选项可供设置。
在追求功能的同时,CChart在简化调用方面做到了极致,一般只用几句代码就可以画出漂亮的图像。这一点可以说不仅胜过绝大部分非商业的图表库或者控件,甚至不输于大部分商业图表软件。
当然无论怎么努力,总有不能满足的要求。CChart的内核功能相当强大,易于扩展,可以通过定制的方式满足各种特殊要求。
CChart界面美观大方。一般没有专门设置的情况下,默认界面非常简洁,但也相当美观。如果针对各个部分进行设置,CChart的界面可以变得多姿多彩。
尤其值得一提的是CChart内置键盘鼠标的消息响应,各种类型的图像都具有完善的交互功能,可以很方便地在运行状态下修改图像的显示状态。
CChart内部主要采用GDI进行图像绘制,只在极少的情况下调用GDI+作为补充,内部绘图一般都采用PolyLine等打包处理的API函数,基本不对单个像素操作,充分保证了绘图的速度。
CChart采用Win32API进行开发,没有使用任何诸如MFC、WTL、QT等框架,当然在这些框架下使用完全没有问题,这样最大程度上保证了适用范围。同样的理由,由于采用的是Win32API,没法做到跨平台,Linux下是不能用的。
CChart主要的目标平台是VC。除此之外,目前CChart已经可以应用在Borland C++ Builder、Borland Delphi、Visual Basic、网络浏览器、甚至是易语言等开发平台上。
2012年本人在CSDN发布了CChart2.0.5.1版本,受到了广泛好评。很多朋友提出了不少中肯的意见,并发现了一些Bug,这些都对于软件的持续改进帮助很大,在此一并表示感谢。
从本质上来说,CChart是本人发明的一个轮子。虽然重复造轮子不是一个很好的习惯,但目前这个轮子已经很好很强大了,功能甚至超过了不少以前的轮子,所以这个轮子本人还是会维护下去。
本人已经在CSDN博客中发布了一个CChart的系列使用教程,相信看了这个教程的朋友,使用CChart会得心应手。
3.0.0.1版本对大数据量情况进行了深层次的优化,重写了内部算法,改写了耗时严重的代码,这样在千万量级的数据点的情况下仍能流畅地运行。同时采用了多种工具进行了内存检测,确保内存无泄漏。因此,本人认为,CChart已经可以满足工业级的应用。
CChart的界面在很大程度上以Origin为范本,3.0.0.1版本增加了多种数据处理功能,进一步接近本人最初拟定的向Origin看齐的目标。数据处理功能包括线性变换、微积分、滤波、拟合等几大类功能。数据拟合功能中,多峰高斯拟合、斜本底高斯拟合等功能非常有特色,当然像多项式拟合、指数拟合、对数拟合、高斯拟合等功能,都是必不可少的啦。
还有一个复活节彩蛋,留给感兴趣的朋友去发掘吧,呵呵。
CChart 3.0.0.1版本的下载地址。http://download.csdn.net/detail/baita96/6427815
CChart开源版本的下载地址。http://download.csdn.net/detail/baita96/6399705
CChart系列教程的网址。http://blog.csdn.net/baita96 http://baita00.blog.51cto.com
2012年本人发布2.0.5.1版本的帖子。http://bbs.csdn.net/topics/390244975
2012年本人发布2.0.0.1版本的帖子。http://bbs.csdn.net/topics/390226284
2010年本人发布MFC版本的帖子。http://bbs.csdn.net/topics/330121732
下面给出少量的贴图。
千万数据量绘图
[img]http://img.my.csdn.net/uploads/201310/20/1382270687_4135.PNG[/img]
多峰高斯拟合
[img]http://img.my.csdn.net/uploads/201310/20/1382270687_1238.PNG[/img]
Delphi里面画图
[img]http://img.my.csdn.net/uploads/201310/20/1382270688_4711.PNG[/img]
...全文
5427 83 打赏 收藏 转发到动态 举报
写回复
用AI写文章
83 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuzhongxunyu 2016-01-08
  • 打赏
  • 举报
回复
太厉害了,学习了
tlw2007 2015-10-25
  • 打赏
  • 举报
回复
先收藏了,谢谢楼主☺☺
zj0789 2013-11-11
  • 打赏
  • 举报
回复
留名~~~~~谢谢楼主分享!
forcal 2013-11-06
  • 打赏
  • 举报
回复
学习,使用。
Alberl Lee 2013-11-01
  • 打赏
  • 举报
回复
记得作者做1.0的时候,我说了句codeproject上有几个很好的。 不过作者能够坚持到3.0,在国内的开源项目中已经是为数不多的了,这个必须得赞!
zyjj_99 2013-11-01
  • 打赏
  • 举报
回复
baita96 2013-10-31
  • 打赏
  • 举报
回复
引用 86 楼 longnan3188 的回复:
[quote=引用 78 楼 baita96 的回复:] [quote=引用 76 楼 longnan3188 的回复:] 3D的曲线效果不错。可以用鼠标拖动图形。 有几点不明白: 1. 如果设置曲线的大小[粗细]? 2. SetZoomMode后,鼠标转盘只能向右平移物体。如何做到放大和缩小呢? 3. 如何动态添加新的曲线?直接用AddCurve吗?
兄弟谬赞了,其实我对3D曲线还很不满意,也没有费功夫去做,目前我觉得只是能用,还不够好,没有二维曲线那么强大。 你的第三个问题,就是用AddCurve加曲线。 前两个问题现在还没设置接口。 你如果有什么好的想法,可以发给我,我会考虑改进。[/quote] 楼主谦虚了。3D 除了在交互上少点功能外,其他都很好。小弟不才,有两点建议: 1. 使用鼠标滚轮设置glScalef 控制放大和缩小。 2. 拖拽刚是: glRotatef angleY, 1#, 0#, 0# glRotatef angleX, 0#, 1#, 0# 期待早点引出接口。 [/quote] 多谢!下一版本会考虑您的意见。
longnan3188 2013-10-30
  • 打赏
  • 举报
回复
引用 78 楼 baita96 的回复:
[quote=引用 76 楼 longnan3188 的回复:] 3D的曲线效果不错。可以用鼠标拖动图形。 有几点不明白: 1. 如果设置曲线的大小[粗细]? 2. SetZoomMode后,鼠标转盘只能向右平移物体。如何做到放大和缩小呢? 3. 如何动态添加新的曲线?直接用AddCurve吗?
兄弟谬赞了,其实我对3D曲线还很不满意,也没有费功夫去做,目前我觉得只是能用,还不够好,没有二维曲线那么强大。 你的第三个问题,就是用AddCurve加曲线。 前两个问题现在还没设置接口。 你如果有什么好的想法,可以发给我,我会考虑改进。[/quote] 楼主谦虚了。3D 除了在交互上少点功能外,其他都很好。小弟不才,有两点建议: 1. 使用鼠标滚轮设置glScalef 控制放大和缩小。 2. 拖拽刚是: glRotatef angleY, 1#, 0#, 0# glRotatef angleX, 0#, 1#, 0# 期待早点引出接口。
猴头 2013-10-28
  • 打赏
  • 举报
回复
好牛逼的样子,以后有有机会可以试用看看,我觉得机会很快就到了.
  • 打赏
  • 举报
回复
国产。。
个男子 2013-10-27
  • 打赏
  • 举报
回复
好霸气的样子,学习了
baita96 2013-10-26
  • 打赏
  • 举报
回复
多谢楼上。 博客中新增一篇在界面库DuiLib中的使用教程,希望对大家能有所帮助。
羽毛乱发 2013-10-25
  • 打赏
  • 举报
回复
就开源的来说,是很好的东东了。
dahuatttt 2013-10-25
  • 打赏
  • 举报
回复
我又来顶LZ了!
baita96 2013-10-24
  • 打赏
  • 举报
回复
引用 76 楼 longnan3188 的回复:
3D的曲线效果不错。可以用鼠标拖动图形。 有几点不明白: 1. 如果设置曲线的大小[粗细]? 2. SetZoomMode后,鼠标转盘只能向右平移物体。如何做到放大和缩小呢? 3. 如何动态添加新的曲线?直接用AddCurve吗?
兄弟谬赞了,其实我对3D曲线还很不满意,也没有费功夫去做,目前我觉得只是能用,还不够好,没有二维曲线那么强大。 你的第三个问题,就是用AddCurve加曲线。 前两个问题现在还没设置接口。 你如果有什么好的想法,可以发给我,我会考虑改进。
zhou273956524 2013-10-24
  • 打赏
  • 举报
回复
安装程序配置
longnan3188 2013-10-24
  • 打赏
  • 举报
回复
3D的曲线效果不错。可以用鼠标拖动图形。 有几点不明白: 1. 如果设置曲线的大小[粗细]? 2. SetZoomMode后,鼠标转盘只能向右平移物体。如何做到放大和缩小呢? 3. 如何动态添加新的曲线?直接用AddCurve吗?
hemmingway 2013-10-23
  • 打赏
  • 举报
回复
电脑直接死机了
baita96 2013-10-23
  • 打赏
  • 举报
回复
引用 57 楼 lpsl1882 的回复:
LZ给个qt版本的使用教程吧 我对比一下qwt和CChart
QT版教程已经发布,在本人的博客http://blog.csdn.net/baita96/中,欢迎光临。
  • 打赏
  • 举报
回复
看着头痛........你们真利害 新源宏创意网 你们可以过来看看
加载更多回复(63)

15,979

社区成员

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

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