Let's install this python package with the pip3 tool:
[mythcat@desk ~]$ pip3 install PyQtChart --user
...
Installing collected packages: PyQtChart
Successfully installed PyQtChart-5.14.0
Let's test with a simple example:from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
from PyQt5.QtChart import QChart, QChartView, QPieSeries, QPieSlice
from PyQt5.QtGui import QPainter, QPen
from PyQt5.QtCore import Qt
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("testing Pie Chart")
self.setGeometry(100,100, 640,480)
self.show()
self.create_piechart()
def create_piechart(self):
series = QPieSeries()
#append all values with a sum of 360
series.append("size 5", 5)
series.append("size 10", 10)
series.append("size 30", 30)
series.append("size 45", 45)
series.append("size 90", 90)
series.append("size 180", 180)
#adding slice
slice = QPieSlice()
slice = series.slices()[2]
slice.setExploded(True)
slice.setLabelVisible(True)
slice.setPen(QPen(Qt.darkGreen, 1))
slice.setBrush(Qt.green)
slice = series.slices()[4]
slice.setExploded(False)
slice.setLabelVisible(True)
slice.setPen(QPen(Qt.red, 1))
#slice.setBrush(Qt.blue)
#create chart
chart = QChart()
#chart.legend().hide()
chart.addSeries(series)
chart.createDefaultAxes()
chart.setAnimationOptions(QChart.SeriesAnimations)
chart.setTitle("The all 360 on chart .")
chart.legend().setVisible(True)
chart.legend().setAlignment(Qt.AlignBottom)
chartview = QChartView(chart)
chartview.setRenderHint(QPainter.Antialiasing)
self.setCentralWidget(chartview)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
The result can be seen in the next image: