【问题标题】:QtCharts add custom axisQtCharts 添加自定义轴
【发布时间】:2020-07-07 06:55:52
【问题描述】:

我需要在 QtCharts 上有自定义轴。但是,这些行会导致崩溃。

chart->addAxis(axisX, Qt::AlignCenter);
chart->addAxis(axisY, Qt::AlignCenter);

请问,您能否提供如何自定义轴的示例?目的是有一些指定的范围和轴标题。

QtCharts::QValueAxis *axisX = new QtCharts::QValueAxis();
axisX->setRange(0, 3);
axisX->setTitleText("x");
QtCharts::QValueAxis *axisY = new QtCharts::QValueAxis();
axisY->setRange(0, 3);
axisY->setTitleText("y");

QtCharts::QScatterSeries *series0 = new QtCharts::QScatterSeries();
for (uint i=0; i<size; i++)
    series0->append(vector4.at(i), vector6.at(i));

series0->setName("scatter1");
series0->setMarkerShape(QtCharts::QScatterSeries::MarkerShapeRectangle);
series0->setMarkerSize(10.0);

QtCharts::QChart *chart = new QtCharts::QChart();
chart->addSeries(series0);
chart->createDefaultAxes();
//chart->addAxis(axisX, Qt::AlignCenter);   CRASH
//chart->addAxis(axisY, Qt::AlignCenter);

QtCharts::QChartView *chartView = new QtCharts::QChartView();
chartView->setChart(chart);
chartView->show();

提前致谢

【问题讨论】:

    标签: c++ qt qtcharts


    【解决方案1】:

    一段时间后,我找到了解决方案。它可以帮助某人。

    chart->createDefaultAxes();
    chart->axes(Qt::Horizontal).back()->setRange(-35, 135);
    chart->axes(Qt::Vertical).back()->setRange(-35, 50);
    chart->axes(Qt::Horizontal).back()->setTitleText("axis x [mm]");
    chart->axes(Qt::Vertical).back()->setTitleText("axis y [mm]");
    

    【讨论】:

    • 你帮我解决了我的问题!谢谢:D
    【解决方案2】:

    试试这个:

      chart->addAxis(axisX, Qt::AlignBottom);
      chart->addAxis(axisY, Qt::AlignLeft);
    

    我想图表中心不是轴的有效位置。

    【讨论】:

      猜你喜欢
      • 2017-12-09
      • 2017-01-17
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多