用pycharm的plotly库在vega_datasets库挑选一个简单数据集绘制动态柱状图Y轴随着x轴变化可以控制速度
时间: 2024-01-22 11:19:24 浏览: 73
首先,我们需要安装plotly库和vega_datasets库。可以使用以下命令在终端或Anaconda Prompt中安装:
```
pip install plotly vega_datasets
```
接下来,我们可以使用以下代码加载vega_datasets库中的数据集,并绘制动态柱状图:
```python
import plotly.graph_objs as go
from vega_datasets import data
# 加载数据集
df = data.barley()
# 创建初始布局
layout = go.Layout(
xaxis=dict(range=[min(df['year']), max(df['year'])], autorange=False),
yaxis=dict(range=[0, max(df['yield'])], autorange=False),
updatemenus=[dict(
type='buttons',
showactive=False,
buttons=[dict(
label='Play',
method='animate',
args=[None, dict(frame=dict(duration=100, redraw=True), fromcurrent=True)]
), dict(
label='Pause',
method='animate',
args=[[None], dict(frame=dict(duration=0, redraw=False), mode='immediate', transition=dict(duration=0))]
)]
)]
)
# 创建初始数据
data = [go.Bar(x=df[df['year'] == year]['variety'], y=df[df['year'] == year]['yield']) for year in df['year'].unique()]
# 创建帧
frames = [go.Frame(data=[go.Bar(x=df[df['year'] == year]['variety'], y=df[df['year'] == year]['yield'])]) for year in df['year'].unique()]
# 创建动画
fig = go.Figure(data=data, frames=frames, layout=layout)
fig.show()
```
在这个例子中,我们加载了vega_datasets库中的barley数据集,并使用plotly库绘制了动态柱状图。我们创建了初始布局,并为“Play”和“Pause”按钮添加了更新菜单。我们还创建了初始数据和帧,并将它们传递给go.Figure()函数以创建动画。在这个例子中,我们将每一帧的持续时间设置为100毫秒,并且我们可以使用“Play”按钮控制动画的速度。
阅读全文