mirror of
https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques.git
synced 2024-01-27 06:56:18 +01:00
74 lines
2.5 KiB
Python
74 lines
2.5 KiB
Python
|
from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets
|
||
|
import plotly.express as px
|
||
|
import numpy as np
|
||
|
# import plotly.graph_objects as go
|
||
|
import random
|
||
|
import time
|
||
|
|
||
|
class Widget(QtWidgets.QWidget):
|
||
|
def __init__(self, parent=None):
|
||
|
super().__init__(parent)
|
||
|
self.browser = QtWebEngineWidgets.QWebEngineView(self)
|
||
|
vlayout = QtWidgets.QVBoxLayout(self)
|
||
|
vlayout.addWidget(self.browser)
|
||
|
self.show_graph()
|
||
|
# self.resize(1000,800)
|
||
|
self.resize(500,400)
|
||
|
|
||
|
def show_graph(self):
|
||
|
# fig = go.Figure()
|
||
|
# xdata = [0]
|
||
|
# ydata = [0]
|
||
|
|
||
|
# df = px.data.tips()
|
||
|
# fig = px.box(df, x="day", y="total_bill", color="smoker")
|
||
|
# fig.update_traces(quartilemethod="exclusive") # or "inclusive", or "linear" by default
|
||
|
|
||
|
# fig = px.bar(x=["a", "b", "c"], y=[1, 3, 2])
|
||
|
|
||
|
# fig.add_trace(go.Scatter(x=xdata, y=ydata, name='essai',line=dict(color='firebrick', width=4)))
|
||
|
# for i in range (100):
|
||
|
# xdata.append(i)
|
||
|
# ydata.append(random.randint(0, 10))
|
||
|
# # fig.update_traces()
|
||
|
# # self.browser.setHtml(fig.to_html(include_plotlyjs='cdn'))
|
||
|
# # fig.add_trace(go.Scatter(x=xdata, y=ydata, name='essai',line=dict(color='firebrick', width=4)))
|
||
|
# ydata.append(random.randint(0, 10))
|
||
|
# fig.update_traces()
|
||
|
# self.browser.setHtml(fig.to_html(include_plotlyjs='cdn'))
|
||
|
|
||
|
# initialize and display plot
|
||
|
# fig = go.FigureWidget()
|
||
|
# fig.add_scatter(y=np.random.randint(0,10, 5), fill='tozeroy')
|
||
|
# display(fig)
|
||
|
|
||
|
xdata=[0]
|
||
|
ydata=[0]
|
||
|
fig = px.scatter(x=xdata, y=ydata)
|
||
|
# fig = px.scatter(x=[0, 1, 2, 3, 4], y=[0, 1, 4, 9, 16])
|
||
|
# print (fig.data[0].x)
|
||
|
# print (fig.data[0].y)
|
||
|
# fig.show()
|
||
|
self.browser.setHtml(fig.to_html(include_plotlyjs='cdn'))
|
||
|
|
||
|
# modify plot using new data
|
||
|
for i in range(10):
|
||
|
time.sleep(0.5)
|
||
|
xdata.append(i+1)
|
||
|
ydata.append(random.randint(0, 10))
|
||
|
fig.update_traces()
|
||
|
|
||
|
# np.append(fig.data[0].x, i+2)
|
||
|
# np.append(fig.data[0].y, np.random.randint(0,10, 5))
|
||
|
# fig.update_traces()
|
||
|
|
||
|
# fig.data[0].y.append(np.random.randint(0,10, 5))
|
||
|
# fig.data[0].y = np.random.randint(0,10, 5)
|
||
|
# fig.data[0].y = np.random.randint(0,10, 5)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
app = QtWidgets.QApplication([])
|
||
|
widget = Widget()
|
||
|
widget.show()
|
||
|
app.exec()
|