Qt-chart 画折线图(文字x轴)

代码

cpp 复制代码
QLineSeries *seriesReality = new QLineSeries();
	seriesReality->setColor(Qt::green);
	QLineSeries *seriesTar = new QLineSeries();
	seriesTar->setColor(Qt::yellow);
	// 创建并配置X轴(文字标签)
	QStringList categories;
	for (int i = 0; i < 12; i++)
	{
		categories << QString::number(i + 1);
		seriesReality->append(i, i+1);
		seriesTar->append(i, i + 2);
	}

	QPen pen;
	// 设置序列宽度
	pen.setWidth(2);             
	// 折线序列的线条设置
	seriesReality->setPen(pen);       
	seriesTar->setPen(pen);     

	seriesReality->setColor(Qt::green);
	seriesTar->setColor(Qt::yellow);

	seriesReality->setPointLabelsVisible(true);
	seriesTar->setPointLabelsVisible(true);

	QChart *chart = new QChart();
	chart->addSeries(seriesReality);
	chart->addSeries(seriesTar);
	//设置图例的显示位置在底部
	//chart->legend()->setAlignment(Qt::AlignBottom);
	 //去背景
	chart->setBackgroundVisible(false); 
	//隐藏图例
	chart->legend()->hide();

	//创建坐标轴
	 //Y 轴
	QValueAxis* axisY = new QValueAxis;
	axisY->setRange(0, 20);
	axisY->setLabelsColor(QColor(Qt::GlobalColor::black));
	//刻度线颜色
	axisY->setGridLineColor(QColor(Qt::GlobalColor::black));
	chart->addAxis(axisY, Qt::AlignLeft);

	seriesReality->attachAxis(axisY);
	seriesTar->attachAxis(axisY);

	QBarCategoryAxis *axisX = new QBarCategoryAxis();
	axisX->append(categories);
	chart->addAxis(axisX, Qt::AlignBottom);
	seriesReality->attachAxis(axisX);
	seriesTar->attachAxis(axisX);

	seriesReality->setPointLabelsFormat("(@yPoint)");
	seriesTar->setPointLabelsFormat("(@yPoint)");

	seriesReality->setPointLabelsClipping(false);
	seriesTar->setPointLabelsClipping(false);

	// 使用 QChartView 来显示图表
	QChartView* chartView = new QChartView(chart);
	chartView->setRenderHint(QPainter::Antialiasing);
	setCentralWidget(chartView);
相关推荐
九皇叔叔1 小时前
【7】SQL 语句基础应用
数据库·sql·mysql
麦兜*2 小时前
Spring Boot 集成 Docker 构建与发版完整指南
java·spring boot·后端·spring·docker·系统架构·springcloud
Cisyam^2 小时前
Go环境搭建实战:告别Java环境配置的复杂
java·开发语言·golang
CHENFU_JAVA2 小时前
使用EasyExcel实现Excel单元格保护:自由锁定表头和数据行
java·excel
青云交3 小时前
Java 大视界 -- 基于 Java 的大数据实时流处理在智能电网分布式电源接入与电力系统稳定性维护中的应用(404)
java·大数据·分布式·智能电网·flink 实时流处理·kafka 数据采集·iec 61850 协议
麦聪聊数据3 小时前
能源行业数据库远程运维安全合规实践:Web化平台的落地经验
运维·数据库·sql·安全·数据服务
chenglin0164 小时前
阿里云——云存储与数据库服务
数据库·阿里云·云计算
仰望星空@脚踏实地4 小时前
maven scope 详解
java·maven·scope
NPE~4 小时前
[手写系列]Go手写db — — 第二版
开发语言·数据库·golang·教程·db·手写系列
M_Reus_114 小时前
Groovy集合常用简洁语法
java·开发语言·windows