pyqt5 用QChartView库完成饼图有标题示例,每个区域对应一个标题并显示百分比
时间: 2024-02-16 20:05:18 浏览: 59
以下是使用QChartView库完成饼图有标题并显示百分比的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtChart import QChart, QChartView, QPieSeries
from PyQt5.QtGui import QPainter
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个饼图
series = QPieSeries()
series.setHoleSize(0.35) # 设置中间空洞大小
# 添加数据
series.append("Chrome", 45)
series.append("Firefox", 30)
series.append("Safari", 15)
series.append("Others", 10)
# 设置每个区域对应的标题
series.setLabelsVisible(True)
series.setLabelsPosition(QPieSeries.LabelsOutside)
series.setLabelsVisible(True)
series.setLabelsPosition(QPieSeries.LabelsOutside)
# 创建饼图视图
chart = QChart()
chart.setTitle("Browser Market Share")
chart.addSeries(series)
# 设置饼图样式
chart.setAnimationOptions(QChart.SeriesAnimations)
chart.legend().setVisible(True)
chart.legend().setAlignment(Qt.AlignBottom)
# 创建饼图视图
chartView = QChartView(chart)
chartView.setRenderHint(QPainter.Antialiasing)
# 添加视图到主窗口
self.setCentralWidget(chartView)
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
运行代码后,会显示一个带有标题和每个区域百分比的饼图。你可以根据自己的需求,修改数据和样式。
阅读全文