动画 plotly.express.area
Animating plotly.express.area
我想了解如何使用 plotly 为区域图制作动画。但是,我就是不明白。我试图创建一个非常简单的示例,我认为它应该可以工作,但它没有:
import plotly.express as px
import pandas
dfa = pandas.DataFrame({
'Decile': ['0.2', '0.1', '0.8', '0.1', '0.4', '0.9'],
'Year': [1980, 1980, 1980, 1981, 1981, 1981]
})
px.area(dfa, title='Test', animation_frame='Year')
当我 运行 它时,我得到以下输出:
当我将滑块移动到 1981 时,绘图变空了:
我做错了什么?我希望该区域绘制 1980 年的 [0.2, 0.1, 0.8] 和 1981 年的 [0.1, 0.4, 0.9]。
我可以看到两个问题
- Decile 它真的是一个字符串并且应该被视为一个分类吗?已转换为数字
- 鉴于动画帧之间的取值范围不一致,需要显式设置
完整代码
import plotly.express as px
import pandas
dfa = pandas.DataFrame(
{
"Decile": ["0.2", "0.1", "0.8", "0.1", "0.4", "0.9"],
"Year": [1980, 1980, 1980, 1981, 1981, 1981],
}
)
dfa["Decile"] = pd.to_numeric(dfa["Decile"])
fig = px.area(dfa, title="Test", animation_frame="Year")
fig.update_layout(
xaxis_range=dfa.index.values[[0, -1]],
yaxis_range=[dfa["Decile"].min(), dfa["Decile"].max()],
)
fig
我想了解如何使用 plotly 为区域图制作动画。但是,我就是不明白。我试图创建一个非常简单的示例,我认为它应该可以工作,但它没有:
import plotly.express as px
import pandas
dfa = pandas.DataFrame({
'Decile': ['0.2', '0.1', '0.8', '0.1', '0.4', '0.9'],
'Year': [1980, 1980, 1980, 1981, 1981, 1981]
})
px.area(dfa, title='Test', animation_frame='Year')
当我 运行 它时,我得到以下输出:
当我将滑块移动到 1981 时,绘图变空了:
我做错了什么?我希望该区域绘制 1980 年的 [0.2, 0.1, 0.8] 和 1981 年的 [0.1, 0.4, 0.9]。
我可以看到两个问题
- Decile 它真的是一个字符串并且应该被视为一个分类吗?已转换为数字
- 鉴于动画帧之间的取值范围不一致,需要显式设置
完整代码
import plotly.express as px
import pandas
dfa = pandas.DataFrame(
{
"Decile": ["0.2", "0.1", "0.8", "0.1", "0.4", "0.9"],
"Year": [1980, 1980, 1980, 1981, 1981, 1981],
}
)
dfa["Decile"] = pd.to_numeric(dfa["Decile"])
fig = px.area(dfa, title="Test", animation_frame="Year")
fig.update_layout(
xaxis_range=dfa.index.values[[0, -1]],
yaxis_range=[dfa["Decile"].min(), dfa["Decile"].max()],
)
fig