Невозможно импортировать matplotlib.backends.backend_qt6agg в приложении PyQt6.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно импортировать matplotlib.backends.backend_qt6agg в приложении PyQt6.

Сообщение Anonymous »

Вопрос об ошибке при использовании PyQt6 и Matplotlib

Цель:

Я разрабатываю приложение PyQt6, которое использует Matplotlib для построения графиков. Однако при запуске программы возникла ошибка.

Описание ошибки:

При запуске программы возникла такая ошибка:< /p>

Код: Выделить всё

Traceback (most recent call last):
File "d:\programforpyqt6\Program\program.py", line 4, in 
from matplotlib.backends.backend_qt6agg import FigureCanvasQTAgg as FigureCanvas
ModuleNotFoundError: No module named 'matplotlib.backends.backend_qt6agg'
Это мой код Python:

Код: Выделить всё

from PyQt6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QPushButton
import sys
from matplotlib.backends.backend_qt6agg import FigureCanvasQTAgg as FigureCanvas
import matplotlib.pyplot as plt
from matplotlib.figure import Figure
import platform
import psutil

class HardwareMonitorApp(QMainWindow):
def __init__(self):
super().__init__()

self.central_widget = QWidget(self)
self.setCentralWidget(self.central_widget)

self.layout = QVBoxLayout(self.central_widget)

self.cpu_button = QPushButton('Show CPU Usage', self)
self.cpu_button.clicked.connect(self.show_cpu_usage)
self.layout.addWidget(self.cpu_button)

self.memory_button = QPushButton('Show Memory Usage', self)
self.memory_button.clicked.connect(self.show_memory_usage)
self.layout.addWidget(self.memory_button)

self.setWindowTitle('Hardware Monitor App')

def show_cpu_usage(self):
x = list(range(1, 11))
y = psutil.cpu_percent(interval=1, percpu=True)

self.plot_graph(x, y, 'CPU Usage', 'Core', 'Usage (%)')

def show_memory_usage(self):
virtual_memory = psutil.virtual_memory()
swap_memory = psutil.swap_memory()

labels = ['Used', 'Available', 'Total']
sizes = [virtual_memory.used, virtual_memory.available, virtual_memory.total]

self.plot_pie_chart(labels, sizes, 'Memory Usage')

def plot_graph(self, x, y, title, xlabel, ylabel):
figure = Figure(figsize=(6, 4), tight_layout=True)
plot = figure.add_subplot(1, 1, 1)
plot.plot(x, y, marker='o')
plot.set_title(title)
plot.set_xlabel(xlabel)
plot.set_ylabel(ylabel)

canvas = FigureCanvas(figure)
self.layout.addWidget(canvas)

def plot_pie_chart(self, labels, sizes, title):
figure, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)
ax.axis('equal')  # Equal aspect ratio ensures that pie is drawn as a circle.
ax.set_title(title)

canvas = FigureCanvas(figure)
self.layout.addWidget(canvas)

def main():
app = QApplication(sys.argv)
main_win = HardwareMonitorApp()
main_win.show()
sys.exit(app.exec())

if __name__ == '__main__':
main()
Дополнительная информация:
  • Версия Python : 3.12.1
  • Операционная система: Windows 10
  • Версия PyQt6: 6.6.1
  • Версия Matplotlib : 3.8.2
  • Метод установки PyQt6: pip install PyQt6
  • Метод установки Matplotlib: pip install matplotlib
    Виртуальная среда: я не использую какую-либо виртуальную среду.
  • Я работаю над: приложением PyQt6, которое предполагает использование matplotlib для построения графиков.
Предпринятые шаги:
  • Проверить версию PyQt6, используя эту команду в командной строке: pip show PyQt6
  • Переустановите библиотеку matplotlib, используя эту команду в командной строке: pip uninstall matplotlib и pip install matplotlib
Мой вопрос по этой ошибке:
  • Есть ли проблемы совместимости между PyQt6 (версия 6.6.1) и matplotlib (версия 3.8.2)?
  • Есть ли другая оператор импорта, который я должен использовать для PyQt6 и Совместимость с matplotlib?
  • Известны ли какие-либо проблемы или способы обхода этой проблемы?


Подробнее здесь: https://stackoverflow.com/questions/779 ... pplication
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»