Python 在绘图图形中添加多个过滤器尺寸
我为游戏构建数据集,显示演员随着时间产生的价值过程。我想用Plotly来绘制这些数据,我想弄清楚如何自定义过滤器尺寸,以便能够在一个绘图中绘制多个游戏的数据 我的数据看起来如何 我的数据集中有一些列描述了一条信息。对于每个游戏(columnPython 在绘图图形中添加多个过滤器尺寸,python,plotly,data-visualization,Python,Plotly,Data Visualization,我为游戏构建数据集,显示演员随着时间产生的价值过程。我想用Plotly来绘制这些数据,我想弄清楚如何自定义过滤器尺寸,以便能够在一个绘图中绘制多个游戏的数据 我的数据看起来如何 我的数据集中有一些列描述了一条信息。对于每个游戏(columngame),我为每个演员(columnname)的特定回合(columnround)提供了一个金额(columnvalue) 为了绘制每个演员随时间(轮数)的“价值”发展,我使用Plotly为不同的游戏创建了一个带有滑块的线条图。这看起来像是随机数据 impo
game
),我为每个演员(columnname
)的特定回合(columnround
)提供了一个金额(columnvalue
)
为了绘制每个演员随时间(轮数)的“价值”发展,我使用Plotly为不同的游戏创建了一个带有滑块的线条图。这看起来像是随机数据
import numpy as np
import pandas as pd
import plotly.express as px
n_rounds = 30
actor_column = []
round_column = []
value_column = []
game_column = []
actor_names = ["A", "B", "C"]
X = range(n_rounds)
for game_id in range(1, 5):
Ys = []
for actor_name in actor_names:
Y = np.random.randint(0, 50000, n_rounds - 1)
Ys.append(Y)
for idx, Y in enumerate(Ys):
for x, y in zip(X, Y):
actor_column.append(actor_names[idx])
round_column.append(x)
value_column.append(y)
game_column.append(game_id)
data = {
"game": game_column,
"actor": actor_column,
"round": round_column,
"value": value_column
}
df = pd.DataFrame(data)
fig = px.line(
df,
x="round",
y="value",
color="actor",
animation_frame="game",
)
fig.show()
在滑块的帮助下,我可以选择要显示的游戏。通过使用右边的演员过滤器,我可以选择要显示的演员。这很接近我想要的
问题
如何为游戏添加额外的过滤维度,而不是使用滑块。与现有的actor
过滤器类似,我还希望为我的情节设置game
过滤器。例如,我希望能够使用plotly为所有游戏的演员显示情节
我在想这样的事情(不一定使用不同的破折号类型):
注:
必须有一个更好的解决方案,而不是在游戏中使用不同的划线,并将游戏和参与者的所有组合作为筛选值,如图所示fig=px.line(df,x=“round”,y=“value”,color=“actor”,line_-dash=“game”)
。