C++ 结合 gnuplot 实现数据可视化

C++ 结合 gnuplot  实现数据可视化

之前做课题时,使用的是C++结合OpenCV编程实现,过程中想要对一组数据作图表的可视化,但是C++和OpenCV中都没有提供相应的图表可视化接口,当时是自己利用OpenCV写了一个粗糙的曲线显示函数,但总觉不方便。今天想着来解决这个问题,在网上搜索,找到了gnuplot以及gnuplot在C++中调用的一个函数库:

A. 这个gnuplot库的链接是:http://www.deuxmille.org/archives/1529 (可能需要代理)

B. 同时这篇文章对程序调试也给了很大的启示:https://gist.github.com/zhaojkun/5895566


gnuplot 是一个通用、强大的科学绘图软件,可以跨平台调用,之前自己用SVM的时候有接触过一点(优化参数选取的时候,库函数调用了gnuplot来可视化显示参数的影响)。

利用上述 

该代码是基于vc的数据可视化功能 #include #include LRESULT CALLBACK WangProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { WNDCLASS wndcls; wndcls.cbClsExtra=0; wndcls.cbWndExtra=0; wndcls.hbrBackground=NULL;//(HBRUSH)GetStockObject(BLACK_BRUSH); wndcls.hCursor=LoadCursor(NULL,IDC_NO); wndcls.hIcon=LoadIcon(NULL,IDI_ERROR); wndcls.hInstance=hInstance; wndcls.lpfnWndProc=WangProc; wndcls.lpszClassName="王朝帅"; wndcls.lpszMenuName=NULL; wndcls.style=CS_VREDRAW | CS_PARENTDC/* | CS_HREDRAW*/; RegisterClass(&wndcls); HWND hwnd; hwnd=CreateWindow("王朝帅","安徽大学 计算机科学与技术学院 王朝帅",WS_OVERLAPPEDWINDOW, 50,50,600,400,0,0,0,NULL); ShowWindow(hwnd,SW_SHOWNORMAL); UpdateWindow(hwnd); MSG msg; while(GetMessage(&msg,hwnd,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } LRESULT CALLBACK WangProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { switch(uMsg) { case WM_CHAR: char szChar[20]; sprintf(szChar,"char is '%c'",wParam); MessageBox(hwnd,szChar,"朝帅作品",MB_OK); break; case WM_LBUTTONDOWN: MessageBox(hwnd,"mouse clicked","朝帅作品",MB_OK); HDC hdc; hdc=GetDC(hwnd); TextOut(hdc,0,50,"MFC学习中心--朝帅作品",strlen("MFC学习中心--朝帅作品")); ReleaseDC(hwnd,hdc); break; case WM_PAINT: HDC hDC; PAINTSTRUCT ps; hDC=BeginPaint(hwnd,&ps); TextOut(hDC,0,0,"MFC培训",strlen("MFC培训")); EndPaint(hwnd,&ps); break; case WM_CLOSE: if(IDYES==MessageBox(hwnd,"是否真的结束?","朝帅作品",MB_YESNO)) { DestroyWindow(hwnd); } break; case WM_DESTROY: PostQuitMessage(1); break; default: return DefWindowProc(hwnd,uMsg,wParam,lParam); } return 0; }
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值