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方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式 ...
 
随机推荐
- iOS开发相关图书推荐
			
Objective-C编程之道:iOS设计模式解析 作 者 [美] Carlo Chung 著:刘威 译 出 版 社 人民邮电出版社 出版时间 2011-11-01 版 次 1 页 ...
 - htmlcss笔记--标签默认值样式重置css reset(2)
			
1.内联,内嵌,行内元素: 默认可以继续跟同类型标签显示: 由内容撑开宽度,内容多宽,会有多宽: span,内嵌标签部支持宽高,即使加了宽高也不支持, 也不支持上下内外边距,但是支持左右内外边距:内上 ...
 - SQL Server 中的三种分页方式
			
USE tempdb GO SET NOCOUNT ON --创建表结构 IF OBJECT_ID(N'ClassB', N'U') IS NOT NULL DROP TABLE ClassB GO ...
 - HDU5806:NanoApe Loves Sequence Ⅱ(尺取法)
			
题目链接:HDU5806 题意:找出有多少个区间中第k大数不小于m. 分析:用尺取法可以搞定,CF以前有一道类似的题目. #include<cstdio> using namespace ...
 - 【bz2002】弹飞绵羊
			
题意: 给出n个节点 及其父亲 和m个指令1:表示求节点i到根节点(n+1)的距离2:表示将节点i的父亲更换为j 题解: 动态树link.cut.access模板题 貌似没什么难度- - 代码: #i ...
 - Create a commit using pygit2
			
Create a commit using pygit2 Create a commit using pygit2 2015-04-06 10:41 user1479699 imported from ...
 - Linux内存中的Cache真的能被回收么?
			
在Linux系统中,我们经常用free命令来查看系统内存的使用状态.在一个RHEL6的系统上,free命令的显示内容大概是这样一个状态: [root@tencent64 ~]# free ...
 - XML学习笔记(1)--XML概述
			
XML基本概念 XML—extensible Markup Language(可扩展标记语言) XML最基本的三个概念 1)XML语言---描述事物本身(可扩展) 2)XSL语言---展现事物表现形式 ...
 - codeforces 630B   Moore's Law
			
B. Moore's Law time limit per test 0.5 seconds memory limit per test 64 megabytes input standard inp ...
 - javascript表单(form)序列化
			
function serialize(form){ var part =[]; var field = null; var i; var j; var len; var optLen; var opt ...