首页 > 解决方案 > 情节表达:文字在动画中“飞入”

问题描述

在带有动画帧的条形图中添加了一些文本(要显示在条形图上)。

好吧,文本不是随着条形上升(就像我手动移动滑块时在 GIF 的开头那样),而是从每一帧的左上角飞入,直到条形大到足以容纳数字。

在此处输入图像描述

textposition现在,调整fig.update_traces()确实有点帮助。但它将文本限制为insideoutside。前者在较小的条形图中根本看不到,后者看起来不如没有飞入的汽车看起来那么好。

这是在较小的数据集中复制问题的代码-

import pandas as pd
from pandas import Timestamp
import plotly.express as px

df = pd.DataFrame({'continent': {127: 'South America',
  128: 'South America',
  129: 'South America',
  130: 'South America',
  131: 'South America',
  105: 'Oceania',
  106: 'Oceania',
  107: 'Oceania',
  108: 'Oceania',
  109: 'Oceania'},
 'date': {127: Timestamp('2021-03-01 00:00:00'),
  128: Timestamp('2021-03-26 00:00:00'),
  129: Timestamp('2021-04-20 00:00:00'),
  130: Timestamp('2021-05-15 00:00:00'),
  131: Timestamp('2021-06-09 00:00:00'),
  105: Timestamp('2021-03-01 00:00:00'),
  106: Timestamp('2021-03-26 00:00:00'),
  107: Timestamp('2021-04-20 00:00:00'),
  108: Timestamp('2021-05-15 00:00:00'),
  109: Timestamp('2021-06-09 00:00:00')},
 'total_cases': {127: 20465329.0,
  128: 23470911.0,
  129: 26544779.0,
  130: 29891133.0,
  131: 30634559.0,
  105: 35923.0,
  106: 42208.0,
  107: 46514.0,
  108: 50183.0,
  109: 50805.0}})

px.bar(df, x='continent', y='total_cases', animation_frame=df.date.astype(str), text='total_cases')

标签: pythonanimationplotlydata-visualizationplotly-python

解决方案


推荐阅读