Добавить, изменить или удалить нарисовать и сохранить диаграмму в виде графикаPython

Программы на Python
Ответить
Anonymous
 Добавить, изменить или удалить нарисовать и сохранить диаграмму в виде графика

Сообщение Anonymous »

В этом примере я пытаюсь добавить фигуру и сохранить график с помощью кнопки конфигурации
[img]https://i.sstatic.net /jtyOWazF.png[/img]
на этом изображении:
  • Я могу рисовать (прямоугольник, линию,...), я могу изменять его фигуру, но я не могу ее удалить?
  • Я не могу сохранить график
Код:

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

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout
from PyQt5.QtWebEngineWidgets import QWebEngineView
import plotly.graph_objects as go
import plotly.io as pio
Я создаю окно pyqt

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

class PlotApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()

def initUI(self):
self.setWindowTitle('Dessin et suppression avec eraseshape')
self.setGeometry(100, 100, 800, 600)

# Layout principal
self.layout = QVBoxLayout()

# Vue du graphique Plotly
self.plot_view = QWebEngineView()
self.layout.addWidget(self.plot_view)

# Définir le layout de la fenêtre
self.setLayout(self.layout)

# Créer et afficher le graphique
self.create_plot()

def create_plot(self):
# Créer un graphique vide
fig = go.Figure()

fig.add_trace(go.Scatter(x=[1, 2, 3, 4, 5], y=[1, 3, 2, 4, 5], mode='markers'))

# Configuration des outils interactifs
config = {
'modeBarButtonsToAdd': [
'drawline',
'drawopenpath',
'drawclosedpath',
'drawcircle',
'drawrect',
'eraseshape'
],
'editable': True,  # Permet d'éditer et de supprimer
'displayModeBar': True  # Affiche la barre d'outils
}

# Mise à jour des axes et des dimensions du graphique
fig.update_layout(
title='Test de dessin et suppression avec eraseshape',
xaxis=dict(range=[0, 10]),
yaxis=dict(range=[0, 10]),
height=600,
)

# Convertir le graphique Plotly en HTML
html = pio.to_html(fig, full_html=False, include_plotlyjs='cdn', config=config)

# Charger le graphique dans la vue QWebEngineView
self.plot_view.setHtml(html)

if __name__ == '__main__':
# Lancer l'application PyQt
app = QApplication(sys.argv)
ex = PlotApp()
ex.show()
sys.exit(app.exec_())
Мне нужно отобразить график в окнах pyqt5, поэтому я не могу отобразить график в другом окне

Подробнее здесь: https://stackoverflow.com/questions/793 ... art-plotly
Ответить

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

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

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

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

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