Mpld3: ENH: рдЯреНрд╡рд┐рдирдПрдХреНрд╕/рдЯреНрд╡рд┐рдиреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдордИ 2014  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mpld3/mpld3

рдЯреНрд╡рд┐рдирдПрдХреНрд╕/рдЯреНрд╡рд┐рдиреА рдЕрдкреЗрдХреНрд╖рд╛рдиреБрд░реВрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ TODO рд╕реВрдЪреА рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдбреЗрдЯрд╛рд╕реЗрдЯ рдкреНрд▓реЙрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред

mpld3 рд░рд┐рдЯрд░реНрди:
image

рдЯреАрдХреЗ-рдПрдЬреАрдЬреА рд░рд┐рдЯрд░реНрди:
image

рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import mpld3
mpld3.enable_notebook()

fig, ax1 = plt.subplots()
t = np.arange(0.01, 10.0, 0.01)
s1 = np.exp(t)
ax1.plot(t, s1, 'b-')
ax1.set_xlabel('time (s)')
# Make the y-axis label and tick labels match the line color.
ax1.set_ylabel('exp', color='b')
for tl in ax1.get_yticklabels():
    tl.set_color('b')


ax2 = ax1.twinx()
s2 = np.sin(2*np.pi*t)
ax2.plot(t, s2, 'r.')
ax2.set_ylabel('sin', color='r')
for tl in ax2.get_yticklabels():
    tl.set_color('r')
plt.show()

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

рдореИрдВрдиреЗ рджреВрд╕рд░реА рдзреБрд░реА рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдЕрд▓реНрдлрд╛ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд┐рдпрд╛ред

ax2.patch.set_alpha(0.0)

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

рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рддрд╣рдд рдкреАрдПрд╕ рдЕрдВрддрд┐рдо рдмреБрд▓реЗрдЯ рдмрд┐рдВрджреБ "рдмреНрд░рд╢рд┐рдВрдЧ рдФрд░ рдмреЙрдХреНрд╕-рдЬрд╝реВрдо рдЬреИрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдЙрдкрдХрд░рдг" рдХреЛ рд╢рд╛рдпрдж рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреЙрдХреНрд╕-рдЬрд╝реВрдо рдФрд░ рдмреНрд░реВрд╕рд┐рдВрдЧ рджреЛрдиреЛрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рд╣реИрдВред

рдзрдиреНрдпрд╡рд╛рдж - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рд╣реЛрдЧрд╛ ... рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдкреИрдХреЗрдЬ рдореЗрдВ рдХреБрдЫ рдмрд╣реБрдд рд╣реА рдореМрд▓рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред

рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдмрд╛рд╣рд░: рдХреНрдпрд╛ d3.js, mplexporter рдпрд╛ mpld3 рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

рдХреНрдпрд╛ рд╢рд╛рдпрдж рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИ? (Twinx x рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ)

рд╣рдореНрдо, рдпрд╛ рдмреЗрд╣рддрд░ рдЕрднреА рддрдХ, рдЪреВрдВрдХрд┐ рдлреНрд░реЗрдо рджрд╛рдИрдВ рдУрд░ рдЯрд┐рдХ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдореИрдВ рдкрд╣рд▓реА (рдмрд╛рдПрдВ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ) рдкрд░ рдПрдХ рд╕реНрдХреЗрд▓ рдХреА рдЧрдИ рдиреАрд▓реА рд░реЗрдЦрд╛ рдЦреАрдВрдЪрдХрд░ рдЗрд╕реЗ рдирдХрд▓реА рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред рдХрд▓ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ...

рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред рдпрд╣ mplexporter/exporter.py рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХреНрд╕рд┐рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПред рд╢рд╛рдпрдж рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирдиреЗ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрджрдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА рдХреИрд╕реЗ рдореМрдЬреВрдж рд╣реИ рдЬрдм рдпрд╣ рдореМрдЬреВрдж рд╣реИ!

twinx() рдФрд░ twiny() рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд╕рдорд╛рди рд╕реНрдерд╛рди рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдХрд┐ рдХреНрдпрд╛ рджреЛ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпрд╛рдБ рдЬреБрдбрд╝рд╡рд╛рдБ рд╣реИрдВ, рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ:

import numpy as np
import matplotlib.pyplot as plt


fig = plt.figure()
ax1 = fig.add_subplot(1,2,1)
ax2 = fig.add_subplot(1,2,2)

t = np.arange(0.01, 10.0, 0.01)
s1 = np.exp(t)
ax1.plot(t, s1, 'b-')
ax1.set_xlabel('time (s)')
# Make the y-axis label and tick labels match the line color.
ax1.set_ylabel('exp', color='b')
for tl in ax1.get_yticklabels():
    tl.set_color('b')


ax3 = ax1.twinx()
s2 = np.sin(2*np.pi*t)
ax3.plot(t, s2, 'r.')
ax3.set_ylabel('sin', color='r')
for tl in ax3.get_yticklabels():
    tl.set_color('r')

print ax1.get_shared_x_axes().joined(ax1, ax2)
print ax1.get_shared_x_axes().joined(ax1, ax3)

print ax2.get_shared_x_axes().joined(ax2, ax1)
print ax2.get_shared_x_axes().joined(ax2, ax3)

print ax3.get_shared_x_axes().joined(ax3, ax1)
print ax3.get_shared_x_axes().joined(ax3, ax2)

plt.show()

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рджреЛ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рдмрд╕ рдвреЗрд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдорд╛рди рд▓рд┐рдпрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдбреА 3 рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдмрд╕ рджреЛ рдЕрдХреНрд╖реЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдКрдкрд░ рдЦреАрдВрдЪрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдЪреЗрдХ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдорд▓рд╛ рд╣реИред рдШрд╛рддрд╛рдВрдХреАрдп Line2D рдФрд░ sin Line2D рджреЛрдиреЛрдВ рд╣реА D3 рдХреА рддрд░рдл рдореМрдЬреВрдж рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, D3 рдХреА рдУрд░ рдХреА рдЖрдХреГрддрд┐ рдореЗрдВ рджреЛ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпрд╛рдБ рд╣реИрдВред рдпрд╣ рднреА рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ рдЯрд┐рдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдКрдкрд░ рдЦреАрдВрдЪреА рдЧрдИ рджреВрд╕рд░реА рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рдареАрдХ рд╣реИ, рддреЛ рджреЛрдиреЛрдВ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпрд╛рдБ рдЦреАрдВрдЪреА рдЧрдИ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдКрдкрд░ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдкрд╛рд░рджрд░реНрд╢реА рд╕рдлреЗрдж рдкреГрд╖реНрдарднреВрдорд┐ рд╣реИ, рдирд┐рдЪрд▓реА рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдЫрд┐рдкреА рд╣реБрдИ рд╣реИред рд╕рд╛рде рд╣реА, рдЪреВрдВрдХрд┐ рдорд╛рдЙрд╕ рдИрд╡реЗрдВрдЯ рдЕрдХреНрд╖ рддрддреНрд╡реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдЪрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖ рдЕрдХреНрд╖ рдЬрд╝реВрдорд┐рдВрдЧ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВред

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП mpld3 рд▓реЗрдЖрдЙрдЯ рдХреЗ рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреИрд╕реЗ matplotlib рд╕реНрд╡рдпрдВ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ?

рдмрд┐рд▓реНрдХреБрд▓ред

рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ axes._frameon рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдкреИрдЪ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреИрдЪ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдлреНрд░реЗрдо рджреЛрдиреЛрдВ рдХреА рдбреНрд░рд╛рдЗрдВрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлреНрд░реЗрдорди рдкрд╣рд▓реА рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИ рдФрд░ рджреВрд╕рд░реА рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рд╣реИред рдпрджрд┐ рд╣рдо рдЕрдм рдлреНрд░реЗрдорди рдХреЛ рдЯреНрд░реВ рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдм рдкрд╣рд▓реА рдЕрдХреНрд╖ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд░реЗрдЦрд╛ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)

t = np.arange(0.01, 10.0, 0.01)
s1 = np.exp(t)
ax1.plot(t, s1, 'b-')
ax1.set_xlabel('time (s)')
# Make the y-axis label and tick labels match the line color.
ax1.set_ylabel('exp', color='b')
for tl in ax1.get_yticklabels():
    tl.set_color('b')

ax2 = ax1.twinx()
s2 = np.sin(2*np.pi*t)
sin = ax2.plot(t, s2, 'r.')
ax2.set_ylabel('sin', color='r')
for tl in ax2.get_yticklabels():
    tl.set_color('r')

print ax1.get_frame_on()
print ax2.get_frame_on()

ax2.set_frame_on(True)

plt.show()

рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ # 186 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рдПрдХ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рджреВрд╕рд░реЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред

рдЖрд╣ - рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ! рдЙрд╕рдореЗрдВ рдЦреЛрджрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдлреНрд░реЗрдо_рдСрди рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ mpld3_Axes рдХреА рдбреНрд░рд╛ рд╡рд┐рдзрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдлреНрд░реЗрдо_рдСрди рд╕рд╣реА рд╣реИ рдпрд╛ рдЧрд▓рддред

рдХреЛрдб рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░рдиреЗ рд╕реЗ, рдпрд╣ рдкрд╛рдЗрдерди рдХреА рддрд░рдл mplexporter рдФрд░ MPD3Renderer рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрдХреНрд╖ рдкрд░ mpld3Axes рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рд╣рд╛рдВ: frame_on рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рд▓рд┐рдП mplexporter рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдпрджрд┐ рдпрд╣ рдЧрд▓рдд рд╣реИ рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рд▓рд╛рдЗрдиреЗрдВ рдФрд░ рд░рдВрдЧ рднрд░рдирд╛ рдкрд╛рд░рджрд░реНрд╢реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рджреВрд╕рд░реА рдзреБрд░реА рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдЕрд▓реНрдлрд╛ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд┐рдпрд╛ред

ax2.patch.set_alpha(0.0)
ax2.patch.set_alpha(0.0)

рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЛрд╡рд░, рдкреИрди рдФрд░ рдЬрд╝реВрдо рдЯреВрд▓ рдЕрднреА рднреА рдирд┐рдЪрд▓реА рдЕрдХреНрд╖реЛрдВ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЙрдкрдХрд░рдг рдХреЛ рд╕рднреА рдЕрдХреНрд╖реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдЬрдм рддрдХ рдореИрдВ рдмрд╣реБрдд рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдБ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИред ax2.patch.set_alpha(0.0) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВ рдЕрдкрдиреЗ рджреЛрдиреЛрдВ рдЬреБрдбрд╝рд╡рд╛рдВ рдкреНрд▓реЙрдЯ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрд╝реВрдо/рдкреИрди рдЕрднреА рднреА рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖ рдЕрдХреНрд╖ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджреЛрдиреЛрдВ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдмрджрд▓рддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдПрдХреНрд╕-рдЕрдХреНрд╖ рдФрд░ рджреНрд╡рд┐рддреАрдпрдХ рд╡рд╛рдИ-рдЕрдХреНрд╖ рдирдИ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВред

рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓реА рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рддреАрди x-рдЕрдХреНрд╖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рддреАрд╕рд░рд╛ рд╡рд╛рд▓рд╛ рджрд╛рдИрдВ рдУрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡реИрд╕рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдЗрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рддреАрд╕рд░рд╛ рд╡рд╛рд▓рд╛ рджреВрд╕рд░реЗ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИред рдЬреВрдо рдЯреВрд▓ рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдЯреНрд╡рд┐рдирдПрдХреНрд╕ () рдкрджреНрдзрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗ (рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЦрд╛рд▓реА рд╕рдордп рд╣реИ, рддреЛ рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛)ред

captura de tela de 2017-09-10 01-21-32

@fronchetti рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдм рдмрдирд╛рдП рдирд╣реАрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдирд╣реАрдВ рд╣реИред рд░реАрдбрдореА рд╕реЗ:

рдиреЛрдЯ: mpld3 рдЕрдм рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдФрд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдиреБрддреНрддрд░рд┐рдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдХрд┐рд╕реА рдПрдХ рднрдВрдбрд╛рд░ рд╕реНрд╡рд╛рдореА рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред

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

рдЖрдЙрдЪ! рдореИрдВрдиреЗ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЙрдирдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦреАред рдореИрдВ рдпрд╣рд╛рдВ рд╕рд┐рд░реНрдл рдЙрди рдореБрджреНрджреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЖрдпрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХреЗрдВред рдзрдиреНрдпрд╡рд╛рдж @bryevdv , рдореИрдВ рдПрдХ рдФрд░ рдкреНрд▓реЙрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред

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

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

edvakf picture edvakf  ┬╖  29рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

andreatramacere picture andreatramacere  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

omn14 picture omn14  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

dansteingart picture dansteingart  ┬╖  31рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ