【发布时间】:2021-09-03 05:28:26
【问题描述】:
我是 Plotly 的新手,正在尝试使用 Plotly 折线图绘制下面的数据透视表。我的代码如下。错误也附在这里。
请问我哪里出错了
# create traces
trace0 = go.Scatter(
x = df_50_08_16_PVT['Device_ID'],
y = df_50_08_16_PVT['NoiseLevel[dB]'],
mode = 'lines+markers',
name = 'Noise Level'
)
trace1 = go.Scatter(
x = df_50_08_16_PVT['Device_ID'],
y = df_50_08_16_PVT['SPEC_MAX'],
mode = 'lines+markers',
name = 'SPEC_MAX'
)
data = [trace0, trace1] # assign traces to data
layout = go.Layout(
title = 'Line chart showing three different modes'
)
fig = go.Figure(data=data,layout=layout)
pyo.plot(fig, filename='line1.html')
正如 Rob 提到的,我使用了 Index.get_level_values(level) 并且图形即将到来,但不是以预期的方式。请在下面查看我获得的和预期的图表
【问题讨论】:
-
看起来 Device_ID 是多索引的一部分。这行代码将独立失败
df_50_08_16_PVT['Device_ID']。考虑使用pandas.pydata.org/pandas-docs/stable/reference/api/… -
这是一个多索引数据透视表。
-
是的 - 我的观点。所以你不能像一列一样引用索引的一部分
-
像这样改变 X 轴 'x = df_50_08_16_PVT.index.get_level_values('Device_ID')' 可以吗
标签: python pandas plot plotly plotly-dash