不要用 QChart,在MainWindow里写
时间: 2024-03-27 22:35:55 浏览: 9
好的,以下是在 MainWindow 中实现绘制泊松函数分布图的代码,可以绘制出 k 的取值从 0 到 10 的概率密度柱状图。
```cpp
#include <QMainWindow>
#include <QChartView>
#include <QBarSeries>
#include <QBarSet>
#include <QValueAxis>
QT_CHARTS_USE_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr)
: QMainWindow(parent)
{
// 创建柱状图数据
QBarSeries *series = new QBarSeries();
QBarSet *set = new QBarSet("Poisson Distribution");
for (int k = 0; k <= 10; k++) {
double p = exp(-5) * pow(5, k) / tgamma(k + 1);
*set << p;
}
series->append(set);
// 创建坐标轴
QValueAxis *axisX = new QValueAxis();
axisX->setRange(0, 10);
QValueAxis *axisY = new QValueAxis();
axisY->setRange(0, 0.2);
// 创建图表并添加数据
QChart *chart = new QChart();
chart->addSeries(series);
chart->setTitle("Poisson Distribution Chart");
chart->setAxisX(axisX, series);
chart->setAxisY(axisY, series);
chart->legend()->hide();
// 设置图表视图并显示
QChartView *chartView = new QChartView(chart, this);
chartView->setRenderHint(QPainter::Antialiasing);
setCentralWidget(chartView);
}
};
```
这个代码在 MainWindow 的构造函数中创建了一个柱状图,并设置了横轴和纵轴的范围。然后,将图表视图设置为 MainWindow 的中央部件,这样就可以在窗口中显示泊松函数分布图了。