• 4401阅读
  • 1回复

[提问]QChart加载轴时出现问题怎么回事? [复制链接]

上一主题 下一主题
离线y1363386323
 

只看楼主 倒序阅读 楼主  发表于: 2016-12-08
如下图所示,我加了自定义的轴后就只显示出来了一条线,怎么回事?如何加自定义的轴让3条线都显示出来?
window.open('http://www.qtcn.org/bbs/attachment/Mon_1612/17_169659_1626085c40116c4.png?68');" style="max-width:700px;max-height:700px;" onload="if(is_ie6&&this.offsetWidth>700)this.width=700;" >

代码如下:
#include <QApplication>

#include <QLineSeries>
#include <QChart>
#include <QValueAxis>
#include <QChartView>
#include <QMainWindow>
#include <QDebug>
using namespace QtCharts;

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    //创建QLineSeries
    QLineSeries *series01=new QLineSeries;
    series01->setName("blue line");
    *series01<<QPointF(0,0)<<QPointF(1,3)<<QPointF(2,5)<<QPointF(3,1)<<QPointF(4,6)<<QPointF(5,5);

    QLineSeries *series02=new QLineSeries;
    series02->setName("red line");
    *series02<<QPointF(1,10)<<QPointF(1,13)<<QPointF(2,15)<<QPointF(3,11)<<QPointF(4,16)<<QPointF(5,15);

    QLineSeries *series03=new QLineSeries;
    series03->setName("green line");
    *series03<<QPointF(2,20)<<QPointF(1,23)<<QPointF(2,25)<<QPointF(3,21)<<QPointF(4,26)<<QPointF(5,25);

    //创建QChart
    QChart *chart=new QChart;
    chart->setTitle("color group");
    chart->legend()->setAlignment(Qt::AlignBottom);
    chart->addSeries(series01);
    chart->addSeries(series02);
    chart->addSeries(series03);
    //chart->createDefaultAxes();
    chart->setAnimationOptions(QChart::SeriesAnimations);  //在缩放窗口大小时可以用动画进行美化

    //创建轴QValueAxis
    QValueAxis *valueAxisX=new QValueAxis;
    valueAxisX->setMin(0);

    QValueAxis *valueAxisY=new QValueAxis;
    valueAxisY->setMin(0);

    //加载轴
    chart->setAxisX(valueAxisX,series01);
    chart->setAxisX(valueAxisX,series02);
    chart->setAxisX(valueAxisX,series03);

    chart->setAxisY(valueAxisY,series01);
    chart->setAxisY(valueAxisY,series02);
    chart->setAxisY(valueAxisY,series03);

    //创建QChartView
    QChartView *chartView=new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);    //抗锯齿

    QMainWindow *window=new QMainWindow;
    window->setCentralWidget(chartView);
    window->resize(500,300);
    window->show();

    return app.exec();
}

代码如下:
01.pro (1 K) 下载次数:3
main.cpp (2 K) 下载次数:3



离线flfw1314

只看该作者 1楼 发表于: 2016-12-10
试了一下 你的坐标没有设置最大值,你看你绘出来的图纵坐标最大值才是6,后面的线早超过了这个值,设置一下你横纵坐标的最大值就可以显示出来了,试过了
走吧。。。。不管往哪里走
快速回复
限100 字节
 
上一个 下一个