qt - 如何使 QtChart 不在某些范围内绘制折线图?
问题描述
下面的代码画了从2020年到2023年的线,穿过2022年。关键是,如何让QChartView忽略2022年,即从2021年立即画线到2023年,或者换句话说,从X中删除2022轴?
auto series = new QLineSeries();
series->append(QDateTime(QDate(2020, 1, 1)), 100);
series->append(QDateTime(QDate(2021, 1, 1)), 200);
series->append(QDateTime(QDate(2023, 1, 1)), 300);
series->append(QDateTime(QDate(2023, 1, 1)), 200);
QDateTimeAxis *axisX = new QDateTimeAxis;
axisX->setTickCount(20);
axisX->setLabelsAngle(-90);
axisX->setFormat("dd.MM.yyyy hh:mm:ss");
chart->addAxis(axisX, Qt::AlignBottom);
series->attachAxis(axisX);
QValueAxis *axisY = new QValueAxis;
axisY->setTickCount(30);
chart->addAxis(axisY, Qt::AlignLeft);
series->attachAxis(axisY);
chart->setTitle(m_stock->name());
m_chart_view->setChart(chart);
解决方案
最终找到解决方案。应该使用 QBarCategoryAxis 而不是 QDateTimeAxis。
推荐阅读
- python - 试图为目录中的每个文本文件计算一个值,但它只给我一个结果
- python - 将鼠标悬停在所选单词上时弹出
- python - Beautiful Soup 内容为空,无法抓取此网页,是否被屏蔽?
- javascript - 更改下拉菜单位置时清除谷歌地图上的标记
- windows - 如何 Cygwin 编译目录中的所有 .c 文件(在 Windows 中通配)
- asp.net-mvc - Asp.net core blazor vs .net core mvc with razor
- c++ - 使用动态数组时的C ++合并排序问题
- firebird - 我可以使用任何用户名和密码登录 Firebird 3 数据库
- android - React Native 更改按钮文本颜色
- laravel - 如何检查外部表中是否存在用户ID