我正在尝试创建多个折线图,其中X轴上的每个“机器”和“时间”都有一条折线。但是,我尝试了很多组合来生成X和Y标签。我从预期结果中得到的最接近的是下图。
- 欢迎所有建议。
这是数据框:
df3:
Machine Units Pruduced Time
K2K02 1900 15
K2K03 311 15
K2K01 5230 17
K2K02 1096 12
K2K03 1082 11
K2K07 587 17...
因此,我正在分组整理以准备df来绘制图形。
fdr = dff3.groupby(['Time','Machine']).sum()
fdr2 = fdr.unstack('Time')
fdr2
这是我的代码:
import dash_table_experiments
import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import plotly.graph_objects as go
import numpy as np
import dash_table_experiments as dash_table
import dash
from dash.dependencies import Input,Output
import dash_table
import pandas as pd
import plotly_express as px
import plotly.offline as pyo
dff3 = pd.read_csv('df3.csv',encoding='latin-1',low_memory=False)
dff3
fdr = dff3.groupby(['Time','Machine']).sum()
fdr2 = fdr.unstack('Time')
fdr2
app = dash.Dash()
app.layout = html.Div([
dcc.Graph(
id = 'GrapGo',figure = {
'data' : [
go.Scatter(
x = fdr2.index,y = fdr2.loc[rowname],mode = "markers+lines",name = rowname
)for rowname in fdr2.index
],'layout' : go.Layout(
title = "Grafico com go",xaxis = {'title': 'X Label'},yaxis = {'title': 'y Label'}
)
}
)
])
if __name__ == '__main__':
app.run_server()
这是我得到的图形:
预期结果是: