QtCharts笔记之QValueAxis
来源:互联网 发布:淘宝众筹产品首页 编辑:程序博客网 时间:2024/06/08 18:53
QValueAxis是用来自定义图表中的X,Y坐标轴,还是直接看代码分析一下:
#include <QtWidgets/QApplication>#include <QtWidgets/QMainWindow>#include <QtCharts/QChartView>#include <QtCharts/QLineSeries>#include <QtCharts/QAreaSeries>#include <QtCharts/QValueAxis>QT_CHARTS_USE_NAMESPACEint main(int argc, char *argv[]){ QApplication a(argc, argv); QLineSeries *series = new QLineSeries(); series->setPen(QPen(Qt::blue,1,Qt::SolidLine)); *series << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6) << QPointF(16, 7) << QPointF(18, 5); QChart *chart = new QChart(); chart->addSeries(series); chart->setTitle("Simple example"); chart->setAnimationOptions(QChart::SeriesAnimations);//设置曲线呈动画显示 QValueAxis *axisX = new QValueAxis; //定义X轴 axisX->setRange(0, 20); //设置范围 axisX->setLabelFormat("%g"); //设置刻度的格式 axisX->setTitleText("X Axis"); //设置X轴的标题 axisX->setGridLineVisible(true); //设置是否显示网格线 axisX->setMinorTickCount(4); //设置小刻度线的数目 // axisX->setLabelsVisible(false); //设置刻度是否显示 QValueAxis *axisY = new QValueAxis; axisY->setRange(0, 20); axisY->setTitleText("Y Axis"); axisY->setLabelFormat("%.2f"); axisY->setGridLineVisible(true); chart->setAxisX(axisX, series); chart->setAxisY(axisY, series); chart->legend()->hide(); QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing); QMainWindow window; window.setCentralWidget(chartView); window.resize(400, 300); window.show(); return a.exec();}
1. 跟QWT不同,图表中的网格是由坐标轴去处理的。
2. 如果你只想定义其中的一个坐标轴,那你必须先调用createDefaultAxes()才去自定义, 不然会出现错误的。
3. setLabelFormat就是设置刻度的格式,例如要显示多少位数字等等,下面可以参考一下所有的格式:
%A 浮点数、十六进制数字和p-记法(C99)%c 一个字符 %d 有符号十进制整数 %e 浮点数、e-记数法%E 浮点数、E-记数法%f 浮点数、十进制记数法 %g 根据数值不同自动选择%f或%e.%G 根据数值不同自动选择%f或%e.%i 有符号十进制数(与%d相同)%o 无符号八进制整数%p 指针 %s 字符串%u 无符号十进制整数%x 使用十六进制数字0f的无符号十六进制整数 %X 使用十六进制数字0f的无符号十六进制整数%% 打印一个百分号4. 坐标轴是通过void setTickCount(int count)去设置大刻度线的数目,默认是5,不能小于2,而void setMinorTickCount(int count)是设置小刻度线的数目,小刻度线就是没有刻度的线,这里要注意一下,如果你设成5,就是说明两个大刻度线之间有5条小刻度线,分成了6个小区间,而不是5个小区间。
5. chart->legend()->hide();这里是把图例隐藏,什么叫做图例?图例就是指下图红色框标记的东西,后面会进一步说明这个东西的:
1 0
- QtCharts笔记之QValueAxis
- QtCharts笔记之QLineSeries
- QtCharts编译
- QtCharts 绘制折现图
- QtCharts源码编译安装
- QtCharts第一章:绘制曲线
- Qt QChart 中 QValueAxis 和 QCategoryAxis 区别
- QtCharts编译(编译环境MSVC12)和VS2013配置QtCharts
- QtCharts编译(编译环境MSVC12)和VS2013配置QtCharts
- Qt5.4.2编译QtCharts 2.1
- Qt5.4.1编译QtCharts 2.1
- QtCharts Legend 点击选择demo
- Ubuntu 16.04 Qt5安装qtcharts
- Windows环境QtCharts安装配置说明
- QtCharts动态的显示折线图
- qt官方开源的图像库QtCharts编译、安装
- QtCharts小知识:如何把曲线显示到控件上
- 关于QtCharts中的映射器与模型的使用
- Swift - 使用网格(UICollectionView)进行流布局
- 人脑理解递归与递推
- POJ 1797 Heavy Transportation(Dijkstra)
- android之碎片(fragment)二(动态添加)
- Android Activity的singleTask加载模式和onActivityResult方法之间的冲突
- QtCharts笔记之QValueAxis
- HDU 5614 Baby Ming and Matrix tree(树链剖分+线段树)
- Android 支付宝支付
- Uable to run mksdcard sdk tool in Ubuntu 15.10
- java基础2
- 两种分解整数为字符串的方法 阿姆斯特朗数
- JavaScript 正则表达式 RegExp 对象
- LuaTest
- Java基础3