Ipython: Pyplot рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╕реЗ рдореИрдХ рдкрд░ рдбреЙрдХ рдЖрдЗрдХрди рдЙрдЫрд▓рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЬрдире░ 2017  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ipython/ipython

рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд gif рджреНрд╡рд╛рд░рд╛ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

image

рд╕рд╛рдорд╛рдиреНрдп рдЕрдЬрдЧрд░ рдореЗрдВ рдЕрдЬрдЧрд░ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдЕрдЬрдЧрд░ рд░реЙрдХреЗрдЯ рдЖрдЗрдХрди рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдЫрд▓рддрд╛ рдирд╣реАрдВ рд╣реИред IPython рдХреЗ рдЕрдВрджрд░ рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╕реЗ рдЖрдЗрдХрди рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдЭреБрдВрдЭрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ Homebrew рд╕реЗ рдкрд╛рдпрдерди рдХреЗ рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ 10 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧрд╛ рдХрд┐ рдореЗрд░реА рдорд╢реАрди рдЬрдореА рдирд╣реАрдВ рдереА рд▓реЗрдХрд┐рди рдЬреЛ рд╕реВрдЪрдХ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рдЖрдкрдХреЗ .gif рдореЗрдВ рд╕реВрдЪрдХ рдерд╛ред

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдк рдХрд┐рд╕ рдмреИрдХреЗрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ plt.ion() рдпрд╛ %matplotlib рдЪрд▓рдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓рддреА рд╣реИ?

рдореЗрд░рд╛ рдШреБрдЯрдиреЗ рдореЗрдВ рдЭрдЯрдХрд╛ / рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ: рдЬрдм IPython рд░реАрдбрд▓рд╛рдЗрди рд╕реЗ рдбреА-рдХрдкрд▓ рд╣реЛ рдЧрдпрд╛, рддреЛ рдпрд╣ PyOS_InputHook рдорд╢реАрдирд░реА рд╕реЗ рднреА рдбрд┐рдХреЙрдЙрдВрдб рд╣реЛ рдЧрдпрд╛ред рд╕рд╛рджреЗ рдЕрдЬрдЧрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, GUI рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИ (рдЙрдЫрд▓-рдХреВрдж рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ), GUI рдХреЛрдб рд╣реБрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдпрд╣ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреБрдЫ рдлреЛрди рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдХреИрд╕реЗ рд░реЙрдХреЗрдЯ рдХреЛ рдЙрдЫрд▓рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдШрд░ рдЬрд╛рдиреЗ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рдореЗрди рд▓реВрдк рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдХреЛрд▓реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЙрддреНрддрд░ред IPython рдореЗрдВ, рд╡рд╣ рд╣реБрдХ рдЕрднреА рднреА рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХреНрдпреЛрдВрдХрд┐ IPython рд╢реАрдШреНрд░ рдЯреВрд▓рдХрд┐рдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк IPython рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ GUI рдШрд░ рдкрд░ рдлреЛрди рдХрд░реЗрдЧрд╛ рдФрд░ рдмрд╛рдЙрдВрд╕рд┐рдВрдЧ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ред

рдпрд╛ рдореИрдВ рдмреЗрддрд╣рд╛рд╢рд╛ рдмреЗрд╕ рдСрдл рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред

рдпрд╣ MacOSX рдмреИрдХреЗрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред plt.ion() рдпрд╛ %matplotlib рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж pyplot рдЖрдпрд╛рдд рдмрд╛рдЙрдВрд╕ рдХрд░рдирд╛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ %matplotlib рд╕реЗ рдкрд╣рд▓реЗ pyplot рдЖрдпрд╛рдд рдмрд╕ рдЖрдЗрдХрди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ tk рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ?

рдирд╣реАрдВ, TkAgg рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХреЛрдИ рд░реЙрдХреЗрдЯ рдЖрдЗрдХрди рдирд╣реАрдВред

рдореИрдВ # 9312 рд╕реЗ рдЬреБрдбрд╝рд╛ рд░рд╣рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдВ
рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдкрд┐рдВрдЧ @minrkред

рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐

    if not window_count:
        return

рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╡реЗрдВрдЯреНрд▓реЛрдк рдПрдХреАрдХрд░рдг рдХреЛ рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рднреА рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ... рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред
рд╡реИрдХрд▓реНрдкрд┐рдХ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ рдХрд┐ inputhook(context) рдХрдо рд╕реЗ рдХрдо рдПрдХ рд▓реВрдк рди рднреА рдХрд░реЗрдВ, рднрд▓реЗ рд╣реА рдХреЛрдИ рднреА рдЦрд┐рдбрд╝рдХреА рди рд╣реЛ ..

    global at_least_once
    if not window_count and not at_least_once:
        at_least_once = True
        return

@ngoldbaum рдХреНрдпрд╛ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЕрдкрдиреА рдкрд╣рд▓реА рдЦрд┐рдбрд╝рдХреА рд╣реИ рдЙрдЫрд▓ рдмрдВрдж рдХрд░реЛ?

рд╕реНрдХреНрд░реАрди рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореБрдЭреЗ рднреА рдЦреБрд╢ рдХрд░рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдкрдиреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореЗрдВ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рднрдпрд╛рд╡рд╣ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдо рджреЛрд╖реА рдорд╣рд╕реВрд╕ рдХрд░рд╛рддреА рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрд┐ рд╣рдЯрд╛рдирд╛

if not window_count:
    return

рдмреНрд▓реЙрдХ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рд╕рдВрджреЗрд╣ рдерд╛, рдкреНрд▓реЙрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдмрд╛рдЙрдВрд╕рд┐рдВрдЧ рд░реБрдХ рдЬрд╛рддреА рд╣реИред

# 10150 рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рд▓реЛрдЧреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ 10 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧрд╛ рдХрд┐ рдореЗрд░реА рдорд╢реАрди рдЬрдореА рдирд╣реАрдВ рдереА рд▓реЗрдХрд┐рди рдЬреЛ рд╕реВрдЪрдХ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рдЖрдкрдХреЗ .gif рдореЗрдВ рд╕реВрдЪрдХ рдерд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

quchunguang picture quchunguang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mpacer picture mpacer  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

okomarov picture okomarov  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

RinaldoB picture RinaldoB  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ