在 plotly 中使用 x 和 y 轴列表
Using a list for x and y axis in plotly
我有一个 Python 列表,我想用它在 Plotly 中绘制折线图。
该列表包含一年中每周的事故。因此,例如 list[5]=12 表示在 2020 年的第 5 周,发生了 12 起事故。
我想画一个2020年事故趋势的折线图。
完整列表分为两个列表如下:
x axis [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53]
y axis [0, 0, 0, 2, 3, 4, 2, 3, 2, 2, 6, 4, 2, 1, 2, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 2, 0, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0]
如果我枚举单个列表如下:
for e,i in enumerate(my_list):
print(f"e->{e}, i->{i}")
e->0, i->0
e->1, i->0
e->2, i->0
e->3, i->2
e->4, i->3
e->5, i->4
e->6, i->2
e->7, i->3
e->8, i->2
e->9, i->2
e->10, i->6
e->11, i->4
e->12, i->2
e->13, i->1
e->14, i->2
e->15, i->1
e->16, i->1
e->17, i->3
e->18, i->1
e->19, i->0
e->20, i->0
e->21, i->0
e->22, i->0
e->23, i->0
e->24, i->0
e->25, i->0
e->26, i->0
e->27, i->0
e->28, i->0
e->29, i->0
e->30, i->0
e->31, i->0
e->32, i->0
e->33, i->0
e->34, i->0
e->35, i->0
e->36, i->0
e->37, i->0
e->38, i->0
e->39, i->0
e->40, i->0
e->41, i->0
e->42, i->0
e->43, i->0
e->44, i->0
e->45, i->0
e->46, i->0
e->47, i->0
e->48, i->0
e->49, i->0
e->50, i->0
e->51, i->0
e->52, i->0
e->53, i->0
列表的索引将是 X 轴,值将是 Y 轴。
通常我所做的是使用两个列表如下:
# load the x and y axis
my_figure = px.line(x=x_list, y=y_list, title="Testing")
# now draw the line chart
dcc.Graph(id='my_figure', figure=my_figure),
但是,在这种情况下,我只有一个列表,我想避免将索引值复制到第二个列表中。如何使用单列表和 Plotly 绘制折线图?
您可以创建一个数据框,然后尝试使用该数据框绘图
df = pd.DataFrame({'x_data':x_list, 'y_data':y_list})
px.line(df, x='x_data', y='y_data', title="Testing")
px.line(df, y='y_data', title="Testing")
也适用于这种情况
我有一个 Python 列表,我想用它在 Plotly 中绘制折线图。 该列表包含一年中每周的事故。因此,例如 list[5]=12 表示在 2020 年的第 5 周,发生了 12 起事故。 我想画一个2020年事故趋势的折线图。
完整列表分为两个列表如下:
x axis [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53]
y axis [0, 0, 0, 2, 3, 4, 2, 3, 2, 2, 6, 4, 2, 1, 2, 1, 1, 3, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 2, 0, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0]
如果我枚举单个列表如下:
for e,i in enumerate(my_list):
print(f"e->{e}, i->{i}")
e->0, i->0
e->1, i->0
e->2, i->0
e->3, i->2
e->4, i->3
e->5, i->4
e->6, i->2
e->7, i->3
e->8, i->2
e->9, i->2
e->10, i->6
e->11, i->4
e->12, i->2
e->13, i->1
e->14, i->2
e->15, i->1
e->16, i->1
e->17, i->3
e->18, i->1
e->19, i->0
e->20, i->0
e->21, i->0
e->22, i->0
e->23, i->0
e->24, i->0
e->25, i->0
e->26, i->0
e->27, i->0
e->28, i->0
e->29, i->0
e->30, i->0
e->31, i->0
e->32, i->0
e->33, i->0
e->34, i->0
e->35, i->0
e->36, i->0
e->37, i->0
e->38, i->0
e->39, i->0
e->40, i->0
e->41, i->0
e->42, i->0
e->43, i->0
e->44, i->0
e->45, i->0
e->46, i->0
e->47, i->0
e->48, i->0
e->49, i->0
e->50, i->0
e->51, i->0
e->52, i->0
e->53, i->0
列表的索引将是 X 轴,值将是 Y 轴。 通常我所做的是使用两个列表如下:
# load the x and y axis
my_figure = px.line(x=x_list, y=y_list, title="Testing")
# now draw the line chart
dcc.Graph(id='my_figure', figure=my_figure),
但是,在这种情况下,我只有一个列表,我想避免将索引值复制到第二个列表中。如何使用单列表和 Plotly 绘制折线图?
您可以创建一个数据框,然后尝试使用该数据框绘图
df = pd.DataFrame({'x_data':x_list, 'y_data':y_list})
px.line(df, x='x_data', y='y_data', title="Testing")
px.line(df, y='y_data', title="Testing")
也适用于这种情况