如何用pyqt显示柱状图
时间: 2023-03-19 21:25:32 浏览: 278
python3+PyQt5实现柱状图
您好!对于您的问题,我可以给出以下的Python代码示例,以使用PyQt库绘制柱状图:
```python
import sys
from PyQt5.QtGui import QPainter, QColor
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtChart import QChart, QChartView, QBarSet, QBarSeries, QValueAxis
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建柱状图数据
set0 = QBarSet('数据集1')
set0.append([1, 2, 3, 4, 5, 6])
set1 = QBarSet('数据集2')
set1.append([6, 5, 4, 3, 2, 1])
# 创建柱状图系列并添加数据
series = QBarSeries()
series.append(set0)
series.append(set1)
# 创建柱状图并添加系列
chart = QChart()
chart.addSeries(series)
# 创建X和Y轴
axis_x = QValueAxis()
axis_x.setLabelsFont(QFont("Times", 12))
axis_x.setTitleText("X轴")
axis_x.setRange(0, 7)
axis_y = QValueAxis()
axis_y.setLabelsFont(QFont("Times", 12))
axis_y.setTitleText("Y轴")
axis_y.setRange(0, 7)
chart.addAxis(axis_x, Qt.AlignBottom)
chart.addAxis(axis_y, Qt.AlignLeft)
series.attachAxis(axis_x)
series.attachAxis(axis_y)
# 创建柱状图视图并设置图表
chart_view = QChartView(chart)
chart_view.setRenderHint(QPainter.Antialiasing)
self.setCentralWidget(chart_view)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
该代码使用了PyQt的QChart和QChartView类,用于创建和显示柱状图。同时,它还创建了QBarSet和QBarSeries类来存储和管理柱状图的数据。在这个例子中,我们创建了两个数据集,每个数据集都包含6个数据点。最后,我们还创建了QValueAxis类来控制图表的坐标轴。
阅读全文