首页 > 其他分享 >QCustomPlot QCPBars横向柱状图示例

QCustomPlot QCPBars横向柱状图示例

时间:2024-09-23 13:51:36浏览次数:3  
标签:QCPBars customPlot 示例 ticks 柱状图 fossil keyAxis valueAxis

#include "qcustomplot.h"
int main(int argc, char *argv[])
 {
     QApplication a(argc, argv);    QCustomPlot customPlot;
     customPlot.resize(700, 500);
     customPlot.show();    QCPAxis* keyAxis = customPlot.yAxis;
     QCPAxis* valueAxis = customPlot.xAxis;    QCPBars* fossil = new QCPBars(keyAxis, valueAxis);  // 使用xAxis作为柱状图的key轴,yAxis作为value轴
    fossil->setAntialiased(false); // 为了更好的边框效果,关闭抗齿锯
     fossil->setName("Fossil fuels"); // 设置柱状图的名字,可在图例中显示
     fossil->setPen(QPen(QColor(0, 168, 140).lighter(130))); // 设置柱状图的边框颜色
     fossil->setBrush(QColor(0, 168, 140));  // 设置柱状图的画刷颜色     // 为柱状图设置一个文字类型的key轴,ticks决定了轴的范围,而labels决定了轴的刻度文字的显示
     QVector<double> ticks;
     QVector<QString> labels;
     ticks << 1 << 2 << 3 << 4 << 5 << 6 << 7;
     labels << "USA" << "Japan" << "Germany" << "France" << "UK" << "Italy" << "Canada";
     QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText);
     textTicker->addTicks(ticks, labels);
     keyAxis->setTicker(textTicker);        // 设置为文字轴    keyAxis->setTickLabelRotation(60);     // 轴刻度文字旋转60度
     keyAxis->setSubTicks(false);           // 不显示子刻度
     keyAxis->setTickLength(0, 4);          // 轴内外刻度的长度分别是0,4,也就是轴内的刻度线不显示
     keyAxis->setRange(0, 8);               // 设置范围
     keyAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);    valueAxis->setRange(0, 12.1);
     valueAxis->setPadding(35);
     valueAxis->setLabel("Power Consumption in\nKilowatts per Capita (2007)");
     valueAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);
     QVector<double> fossilData;
     fossilData << 0.86 * 10.5 << 0.83 * 5.5 << 0.84 * 5.5 << 0.52 * 5.8 << 0.89 * 5.2 << 0.90 * 4.2 << 0.67 * 11.2;
     fossil->setData(ticks, fossilData);    return a.exec();
 }


效果图如下:

QCustomPlot QCPBars横向柱状图示例_QCustomPlot

标签:QCPBars,customPlot,示例,ticks,柱状图,fossil,keyAxis,valueAxis
From: https://blog.51cto.com/u_10486491/12088982

相关文章

  • QCustomPlot QCPBars纵向柱状图示例
    #include"qcustomplot.h"intmain(intargc,char*argv[]){QApplicationa(argc,argv);QCustomPlotcustomPlot;customPlot.resize(700,500);customPlot.show();QCPAxis*keyAxis=customPlot.xAxis;QCPAxis*valueAxis=......
  • <<编码>> 第 17 章 自动操作(1)--计算设备 示例电路
    info::操作说明首先闭合清零(clear)开关,清除8位触发器(锁存器)中的内容,并把16位计数器的输出置为0000H然后闭合RAM控制面板的控制端开关(接管信号开关)手动输入一组要加的数注:RAM地址0,1,2,3处已预设了1,2,3,4四个值断开接管控制开......
  • 开源MySQL 数据库闪回工具:MyFlash数据恢复工具的安装及使用示例
    MyFlash是一个由美团点评开源的MySQL数据库闪回工具,它专门用于回滚MySQL中的DML操作,如INSERT、UPDATE和DELETE。这个工具通过解析MySQL的binlog文件来实现数据的恢复。使用MyFlash前,需要确保MySQL的binlog格式设置为ROW,并且binlog_row_image设置为FULL。以......
  • MySQL binlog解析工具binlog2sql使用示例
    binlog2sql是一个用于解析MySQL的二进制日志(Binlog)的工具,它可以将Binlog事件转换为SQL语句,这对于审计、数据同步等场景非常有用。binlog2sql通常用于实现MySQL数据的实时同步到其他数据库或系统中。安装binlog2sql首先,你需要安装binlog2sql。如果你使用的是Python环......
  • myflash MySQL数据恢复工具的使用示例:误删除数据恢复和误修改数据恢复两种场景
    以下是myflash数据恢复工具的使用示例,分为误删除数据恢复和误修改数据恢复两种情况:误删除数据恢复:构建测试环境:创建测试数据库和表。假设你已经安装并启动了MySQL服务,登录到MySQL客户端,执行以下语句创建一个名为testdb的数据库和一个名为user的表:sqlCREATEDATABASEtest......
  • MySQL binlog --skip-gtids --include-gtids --exclude-gtids 参数作用及使用示例
    在MySQL中,--skip-gtids选项用于完全跳过全局事务标识符(GTID)的处理,而--include-gtids和--exclude-gtids则是用于选择性地应用或跳过特定的GTID范围内的事务。这些选项通常在MySQL的二进制日志(binlog)消费者工具(如mysqlbinlog)中使用,而不是直接应用于MySQL服务器本身......
  • PostgreSQL向量数据类型SQL示例
    PostgreSQL支持多种数据类型,其中包括向量类型,可以用来存储和处理几何对象,如点(points)、线(lines)、线段(linesegments)、盒子(boxes)、圆(circles)、路径(paths)、多边形(polygons)等。此外,PostgreSQL还支持数组类型,可以用来存储一维或多维数组。向量数据类型示例1.几何类型PostgreSQL提供......
  • Python NumPy处理数组的基本用法代码示例
    NumPy是一个用于处理数组(向量和矩阵)以及进行数值运算的Python库。下面是一些简单的例子来展示如何使用NumP:示例1:创建数组importnumpyasnpa=np.array([1,2,3])#创建一个一维数组b=np.array([[1,2,3],[4,5,6]])#创建一个二维数组print(a)print(b)示......
  • 批量检测微信小程序封禁状态的 PHP 脚本示例
    <?php//定义需要检查的小程序AppID数组$appIds=array('appid1','appid2','appid3');//请替换为您的实际AppID//遍历小程序AppID,调用API进行状态检查foreach($appIdsas$appId){  $apiUrl='https://down.ychengsnsm.com/xcx/checkxcx.php?a......
  • 【TS】加深TS理解的开发实战示例代码
    TS接口开发实战:基于类类型接口设计实现日期时间应用interfaceITimeDate{curTime:Date;setTime(cur:Date):void;getTime():Date;}classCTimeimplementsITimeDate{curTime:Date;constructor(cur:Date){this.curTime=cur;......