• 2108阅读
  • 3回复

Qcharts 坐标轴和实际数据不符合的问题 [复制链接]

上一主题 下一主题
离线dafei2015
 

只看楼主 倒序阅读 楼主  发表于: 2019-09-28
程序 mainwindow.cpp (3 K) 下载次数:2   附件是代码 哪个大佬帮忙看看啊 实在查不到原因了    
在线20091001753

只看该作者 1楼 发表于: 2019-09-29
在 Qt 的安装目录下,自带了很多官方 demo,你先研究一下

例如 Qt\Qt5.13.1\Examples\Qt-5.13.1\charts
(づ ̄ 3 ̄)づ
在线20091001753

只看该作者 2楼 发表于: 2019-09-29
  1. int main(int argc, char *argv[]){
  2.     QApplication a(argc, argv);
  3. //创建数据
  4.     auto set0 = new QBarSet("Jane");
  5.     auto set1 = new QBarSet("John");
  6.     auto set2 = new QBarSet("Axel");
  7.     auto set3 = new QBarSet("Mary");
  8.     auto set4 = new QBarSet("Samantha");
  9.     *set0 << 1 << 2 << 3 << 4 << 5 << 6;
  10.     *set1 << 5 << 0 << 0 << 4 << 0 << 7;
  11.     *set2 << 3 << 5 << 8 << 13 << 8 << 5;
  12.     *set3 << 5 << 6 << 7 << 3 << 4 << 5;
  13.     *set4 << 9 << 7 << 5 << 3 << 1 << 2;
  14. //创建数据组
  15.     auto series = new QBarSeries;
  16.     series->append(set0);
  17.     series->append(set1);
  18.     series->append(set2);
  19.     series->append(set3);
  20.     series->append(set4);
  21. //创建表格
  22.     auto chart = new QChart;
  23.     chart->addSeries(series);
  24.     chart->setTitle("Simple barchart example");
  25.     chart->legend()->setVisible(true);
  26.     chart->legend()->setAlignment(Qt::AlignBottom);
  27. //创建X轴
  28.     QStringList categories;
  29.     categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
  30.     auto axisX = new QBarCategoryAxis();
  31.     axisX->append(categories);
  32.     chart->addAxis(axisX, Qt::AlignBottom);
  33.     series->attachAxis(axisX);
  34. //创建Y轴
  35.     auto axisY = new QValueAxis();
  36.     axisY->setRange(0,15);
  37.     chart->addAxis(axisY, Qt::AlignLeft);
  38.     series->attachAxis(axisY);
  39. //显示图表
  40.     QMainWindow window;
  41.     window.setCentralWidget(new QChartView(chart));
  42.     window.resize(420, 300);
  43.     window.show();
  44.     return a.exec();
  45. }

(づ ̄ 3 ̄)づ
离线dafei2015

只看该作者 3楼 发表于: 2019-09-29
回 20091001753 的帖子
20091001753:int main(int argc, char *argv[]){
    QApplication a(argc, argv);
//创建数据
    auto set0 = new QBarSet("Jane");
    auto set1 = new QBarSet("John");
....... (2019-09-29 17:22) 

找到原因了 是Y轴的单位不能设为整形
快速回复
限100 字节
 
上一个 下一个