QT Qchart绘制曲线 记录下方法

void mainWdlg::creatChart()
{

//  采样图形
QChart *chart= new QChart();
//chart->setTitle("ABC_sample");
ui->MPD2chartView->setChart(chart);

QSplineSeries *series0 = new QSplineSeries();
QSplineSeries *series1 = new QSplineSeries();
series0->setName("MPD1");
series1->setName("MPD2");
curSeries = series0;
QPen pen;
pen.setStyle(Qt::SolidLine);
//pen.setStyle(Qt::DotLine);
pen.setWidth(2);
pen.setColor(Qt::blue);
series0->setPen(pen);
pen.setStyle(Qt::SolidLine);
series1->setColor(Qt::red);

chart->addSeries(series0);
chart->addSeries(series1);

QValueAxis *axisX= new QValueAxis();
curAxis = axisX;
axisX->setGridLineVisible(true);   //网格线可见
axisX->setRange(0, 100);
axisX->setLabelFormat("%u");

       axisX->setTickCount(5);       //设置多少个大格
       axisX->setMinorTickCount(4);   //设置每个大格里面小刻度线的数目
       axisX->setTitleText("N");  //设置描述
QValueAxis *axisY= new QValueAxis();
       axisY->setRange(0, 5);
       axisY->setLabelFormat("%.1f");
       axisY->setGridLineVisible(true);
       axisY->setTickCount(6);
       axisY->setMinorTickCount(0);
       axisY->setTitleText("MPD/V");

       chart->setAxisX(axisX, series0);
       chart->setAxisY(axisY, series0);
       chart->setAxisX(axisX, series1);
       chart->setAxisY(axisY, series1);

}

void mainWdlg::prepareDate()
{

QSplineSeries *series0 = dynamic_cast<QSplineSeries*>(ui->MPD2chartView->chart()->series().at(0));
QSplineSeries *series1 = dynamic_cast<QSplineSeries*>(ui->MPD2chartView->chart()->series().at(1));


series0->clear();
series1->clear();




double  dunit = ADC_REF/65535.0;
for(int i=0;i<100;i++)
{
    double temp1=MPD1_array[i]*dunit;
    double temp2=MPD2_array[i]*dunit;

    series0->append(i,temp1);
    series1->append(i,temp2);
}

}
void mainWdlg::updateChart()
{
//QChart * aChart = ui->MPD_Dither_Chart->chart();
ui->MPD2chartView->chart();
ui->chartView2->chart();

// QMargins mgin = aChart->margins(); // 边距

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
绘制多条曲线,你可以使用qchart库提供的addSeries()方法来添加多个曲线。下面是一个简单的示例代码,演示如何使用qchart绘制多条曲线: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QSizePolicy, QVBoxLayout, QWidget from PyQt5.QtChart import QChart, QChartView, QLineSeries def create_chart(): # 创建QChart对象 chart = QChart() # 创建曲线系列1 series1 = QLineSeries() series1.setName("曲线1") series1.append(0, 6) series1.append(2, 4) series1.append(3, 8) series1.append(7, 4) chart.addSeries(series1) # 创建曲线系列2 series2 = QLineSeries() series2.setName("曲线2") series2.append(1, 4) series2.append(3, 7) series2.append(6, 5) series2.append(8, 3) chart.addSeries(series2) # 创建曲线系列3 series3 = QLineSeries() series3.setName("曲线3") series3.append(1, 7) series3.append(2, 6) series3.append(4, 8) series3.append(8, 5) chart.addSeries(series3) # 创建QChartView对象,用于显示图表 chart_view = QChartView(chart) chart_view.setRenderHint(QPainter.Antialiasing) return chart_view if __name__ == '__main__': app = QApplication(sys.argv) # 创建主窗口 main_window = QMainWindow() main_window.setWindowTitle("多条曲线示例") # 创建QChartView对象 chart_view = create_chart() # 创建布局,并将QChartView添加到布局中 layout = QVBoxLayout() layout.addWidget(chart_view) # 创建一个QWidget作为主窗口的中心部件,并将布局设置给它 central_widget = QWidget() central_widget.setLayout(layout) # 将中心部件设置为主窗口的中心部件 main_window.setCentralWidget(central_widget) # 显示主窗口 main_window.show() sys.exit(app.exec_()) ``` 上述代码创建了一个窗口,并在窗口中绘制了三条曲线。你可以根据需要修改曲线的数据和样式。运行代码后,将会显示一个窗口,其中包含了绘制的多条曲线

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值