-
StatisticDia::StatisticDia(QWidget *parent)
-
QWidget(parent)
{
ui.setupUi(this);
QLineSeries *series = new QLineSeries();
series->setPointLabelsVisible(true);
series->setPointLabelsColor(QColor(255, 0, 255));
series->setPointLabelsFormat("(@xPoint,@yPoint)");
series->setPointsVisible(true);
*series << QPointF(11, 20) << QPointF(15, 5) << QPointF(18, 4) << QPointF(19, 2);
QLineSeries *series1 = new QLineSeries();
*series1 << QPointF(11, 2) << QPointF(15, 50) << QPointF(18, 4) << QPointF(19, 2);
//view->resize(400, 300);
ui.statisticLayout1->addWidget(getLineChartView(“222”, series));
ui.statisticLayout2->addWidget(getLineChartView(“111”, series1));
}
StatisticDia::~StatisticDia()
{
}
QChartView * StatisticDia::getLineChartView(QString title, QLineSeries *series) {
//series->setUseOpenGL(true);// 开启OpenGL,QLineSeries支持GPU绘制,Qt其他有的图表类型是不支持的。
series->setPointLabelsVisible(true);
series->setPointLabelsColor(QColor(255, 0, 255));
series->setPointLabelsFormat("(@yPoint)");
series->setPointsVisible(true);
series->setPointLabelsFont(QFont(“微软雅黑”));
series->setPointLabelsClipping(false);
QChart *chart = new QChart();
// 将图例隐藏
chart->legend()->hide();
chart->addSeries(series);
// 创建默认的坐标系(笛卡尔坐标)
chart->createDefaultAxes();
//chart->setAnimationOptions(QChart::AllAnimations);//设置启用或禁用动画
chart->setLocalizeNumbers(true);//数字是否本地化
chart->setTheme(QChart::ChartThemeBlueNcs);
// 设置图表标题
chart->setTitle(title);
QValueAxis *axisY = new QValueAxis; //Y 轴
axisY->setRange(0, 100);
//axisY->setTitleText(“value”);
axisY->setLabelFormat("%.1f%"); //标签格式
axisY->setTickCount(6);
//axisY->setMinorTickCount(4);
chart->setAxisY(axisY, series);
QChartView *view = new QChartView(chart);
// 开启抗锯齿,让显示效果更好
view->setRenderHint(QPainter::Antialiasing);
return view;
}