qwt总结1
废话不想太多,说下自己的使用总结。
一般来说,对于一个图表。 可能的话,应该有一个坐标轴,QWT中,是用QwtPlot这个类 来描述一个图的坐标系图(只表示坐标系的背景,没有描点)。坐标(刻度)的设置,是使用其他类(如类名带有Axis、Scale)来设置的,但是他们大多设置的是相应的样式细节,具体的数值依然是由Plot设置。比如,我想设置一个坐标系的横坐标范围,是使用Plot中的 setAxisScale这个函数来完成。(名字翻译起来,感觉逻辑对不上,哎,原谅我愚笨的英语水平)
setAxisScale( QwtPlot::xBottom,-0.5,6.5,1); //设置坐标轴的范围setAxisScale( QwtPlot::yLeft,0,30);
第一个参数。。看名字就能知道它意思了。后面就是范围。 设置轴刻度线。好吧。
然后还有个函数,是用来获取 图的背景中的画布(canvas)的。 就是获取Plot中应该有的canvas()函数,就能获得相应的画布。(这里我没有玩过,到时候看看)
然后,刻度线的样式,是使用setAxisScaleDraw,来获取一个ScaleDraw对象,来描述刻度线的,里面有一个label虚函数,它是主要用来重载的,这样能设置坐标轴上 主刻度线,副刻度线和单位刻度线 的 长度 颜色 等风格。
在图表中,最重要的应该是数据的设置了,这里我只使用了一种柱状图。柱状图的特征是 横坐标是一种interval(间隔)。纵坐标是一个值。因此,在设置数据的时候,使用的是函数setData 其参数是 QwtIntervalSeriesData 中文翻译过来 是 间隔的一系列的数据
setData( new QwtIntervalSeriesData( samples ) );
QwtIntervalSeriesData构造函数所传递的参数类型是
QVector<QwtIntervalSample>
QwtIntervalSample构造了一段 (xi-xj,y) 或者(x,yi-yj)类型的数据。不过 构造函数的第一个参数是一个QwtInterval 即一个数的范围,第二个参数就是一个点。具体使用xi-xj 还是yi-yj 这好像是根据 具体使用的图 而决定的。
代码:
int numValues = ques_page_vector.size();
QVector<QwtIntervalSample> samples( numValues );
for ( int i = 0; i < numValues; i++ )
{
QwtInterval interval( double( i - 0.25 ), i + 0.25 );
interval.setBorderFlags( QwtInterval::ExcludeMaximum );
int t = ques_page_vector[i];
double q = (*dataWidget->question_perScore)[t];
samples[i] = QwtIntervalSample( q , interval );
}
最后一个设置的东西就是 Legend(图例)
使用方法是先 new 一个QwtLegend 类
然后使用setItemMode 来确定Legend的模式。
最后调用Plot中的insertLegend方法,将Legend插入。
希望慢慢锻炼能练起来吧~~~加油!
qwt总结1的更多相关文章
- Qt编译安装qwt错误moc/xxx Error:126
最近搞设计,需要在上位机上绘制曲线,在网上找了找,发现python的matplotlib和Qt的qwt都不错,本着难度最小原则,选择了Qt下面的qwt,安装过程中遇到了编译错误:moc/xxx Err ...
- Qt之Qwt学习之安装
QWT+qtcreator 编译.安装使用 目录:一.Qwt简介 二.QWT编译 一.Qwt简介 QWT:Qt Widgets for Technical Applications,是开源的2D绘图库 ...
- Qt Qwt之坐标轴移动
最近接触到个pro需要做到这方面,于是找了相关材料,也跟好些人讨论,目前就最简单的使用方法,通过按钮触发去控制 X,Y轴的移动,比例自己定义 这个是X轴放大的 QwtInterval tempInte ...
- Qt Sqlite qwt 发布过程中碰到的问题runtime error
qt版本:4.8.0 qwt版本:6.1.2 使用dll show检测缺少的dll,或者笨一点的方法,点击运行差什么找什么放进去: 左上显示exe调用哪些dll,右边是dll又再次调用啦哪些dll: ...
- windows 7下qtcreator里QWT文件的pro配置
http://blog.chinaunix.net/uid-20717410-id-272331.html 把编译好的qwt的include文件夹下面 所有的.h文件 复制到qt目录下 然后在pro里 ...
- vs2012编译Qwt
主题:vs2012编译Qwt ------------------------------------------------------------------------- 参照网络地址: htt ...
- ubuntu QWT Qt
1,下载QWT 2,解压进入QWT的目录 3,qmake,生成makefile文件 4,编译,make 5,安装,make install ,需要root 安装好后会在 /usr/local 目录下有 ...
- qt creator中使用qwt插件
前提:我用mingw编译的qwt. 将qwt插件集成到qt designer非常easy.仅仅要把qwt编译的qwt_designer_plugin.dll复制到C:\Qt\Qt5.3.1\5.3\m ...
- linux安装qwt插件linux
Optional: Get, Compile, Install QWT 5.0.0 (or newer): * NOTE: You should not need to set the environ ...
- qt超强绘图控件qwt - 安装及配置
qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式 ...
随机推荐
- Tableau学习笔记之三
1.Tableau可以连接多种多样的数据以及数据库,例如txt,xls,mdb,sql server,oracle等等 2.Tableau还可以从剪贴板上粘贴数据 3.维度和度量的理解: 1)维度即表 ...
- DOM笔记(一):HTMLDocument接口
操作HTML文档的第一步就是获取对文档元素的引用,每一个元素在DOM中就是一个节点,所有的元素在DOM中构成一个节点树. 用于获取元素节点定义的方法定义于HTMLDocument接口,window.d ...
- PHP+Apache+MySQL+phpMyAdmin在win7系统下的环境配置
配置方法在网上可以搜到很多,一步步来就好了,但是由于步骤比较多,需要耐心仔细一点点,这是我自己记录的成功步骤: 1.PHP+Apache+MySQL的安装:PHP网站开发 2.phpMyAdmin的配 ...
- Longest Increasing Sequence
public class Longest_Increasing_Subsequence { /** * O(N^2) * DP * 思路: * 示例:[1,0,2,4,10,5] * 找出以上数组的L ...
- HDU-4747 Mex 线段树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4747 题意:求一个数列中,所有mex(L,R)的和. 注意到mex是单调不降的,那么首先预处理出mex ...
- svn IP地址变更后如何变更
通过grep ip地址,发现svn中url地址信息是记录在.svn文件夹entries文件中的,第一种方案应该是遍历目录下的entries文件,将ip替换为新的ip即可. 可以发现这个用sed命令即可 ...
- HDU 5781 ATM Mechine (概率DP)
ATM Mechine 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5781 Description Alice is going to take ...
- POJ 2421 Constructing Roads (最小生成树)
Constructing Roads 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/D Description There ar ...
- codeforces 630C Lucky Numbers
C. Lucky Numbers time limit per test 0.5 seconds memory limit per test 64 megabytes input standard i ...
- Android中回调接口的使用
MainActivity如下: package cn.testcallback; import android.os.Bundle; import android.app.Activity; /** ...