Python > Platly: 보간 프레임 사이의 애니메이션을 제거하는 방법

12258 단어 Pythonplotly

1. 개요


Platly를 사용하여 시간을 차트화한 후 프레임 간 완성된 애니메이션이 자동으로 시작됩니다.
나는 그것을 잃어버린 방법을 조사했다.

2. 기본 차트(프레임 간 애니메이션)


다음 사이트의 코드를 바탕으로 고려한다.
일반적으로 다음 애니메이션은 프레임 사이를 보간할 수 있습니다.
input
import plotly.express as px
df = px.data.gapminder()
fig = px.scatter(df, x="gdpPercap", y="lifeExp", animation_frame="year", animation_group="country",
           size="pop", color="continent", hover_name="country",
           log_x=True, size_max=55, range_x=[100,100000], range_y=[25,90])
fig.show()


3. 프레임 간 애니메이션 제거 버전의 도표


위에서 만든 것.의 설정 내용으로 보간 애니메이션을 제거할 수 있습니다.

3.1.프레임 설정 확인


다음 명령을 실행하면 디스플레이 프레임과 관련된 설정을 확인할 수 있습니다.
input
fig.layout.updatemenus
output
(layout.Updatemenu({
     'buttons': [{'args': [None, {'frame': {'duration': 500, 'redraw': False},
                  'mode': 'immediate', 'fromcurrent': True, 
                  'transition':{'duration': 500, 'easing': 'linear'}}],
                  'label': '▶',
                  'method': 'animate'},
                 {'args': [[None], {'frame': {'duration': 0, 'redraw': False},
                  'mode': 'immediate', 'fromcurrent': True, 
                  'transition':{'duration': 0, 'easing': 'linear'}}],
                  'label': '◼',
                  'method': 'animate'}],
     'direction': 'left',
     'pad': {'r': 10, 't': 70},
     'showactive': False,
     'type': 'buttons',
     'x': 0.1,
     'xanchor': 'right',
     'y': 0,
     'yanchor': 'top'
 }),)
네 번째 줄.의 500개
프레임 사이의 보간 애니메이션이 500ms를 사용함을 나타냅니다.  
참고 자료
https://github.com/plotly/plotly.py/blob/03979d105c65dda3df3a155322eaff18f203b03f/packages/python/plotly/plotly/validators/layout/_transition.py

3.1.프레임 설정 수정


네 번째 줄.의 500이 0으로 변경되었습니다.
프레임 사이의 보간 애니메이션을 제거할 수 있습니다.
input
fig.update_layout(updatemenus = [{
    'buttons': [{'args': [None, {'frame': {'duration': 500, 'redraw': False},
                                 'mode': 'immediate', 'fromcurrent': True, 
                                 'transition':{'duration': 0, 'easing': 'linear'}}],#'duration': 500-> 0
                 'label': '▶',
                 'method': 'animate'},
                {'args': [[None], {'frame': {'duration': 0, 'redraw': False},
                                   'mode': 'immediate', 'fromcurrent': True, 'transition':
                                   {'duration': 0, 'easing': 'linear'}}],
                 'label': '◼',
                 'method': 'animate'}],
    'direction': 'left',
    'pad': {'r': 10, 't': 70},
    'showactive': False,
    'type': 'buttons',
    'x': 0.1,
    'xanchor': 'right',
    'y': 0,
    'yanchor': 'top'
 }]) 


이상

좋은 웹페이지 즐겨찾기