Mpld3: "рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: *** JSON рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реИ" xticks рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп

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

рдЬрдм рдореИрдВ xticks рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рдЖрдИ рдЬрдм рдореИрдВ рдкрд╛рдВрдбрд╛ рдХреА рд╕рд╛рдЬрд┐рд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдкреНрд░рдорд╛рдг рдпрд╣рд╛рдБ рд╣реИ:
http://nbviewer.ipython.org/gist/edvakf/a47a41ace10afbd891ff
(http://pandas.pydata.org/pandas-docs/stable/visualization.html рдХрд╛ рд╕рдВрд╢реЛрдзрди)

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

рдореИрдВрдиреЗ рд▓рд╛рдЗрди рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛

elif isinstance(obj, (numpy.ndarray,)):
        return obj.tolist()

рд╕реЗ /mpld3/_display.py: NumpyEncoder

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

рдЖрд╣ - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ mplexporter рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ xticks рдПрдХ рд╕реВрдЪреА рд╣реИред рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред

рдЗрд╕ рдмреАрдЪ, рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ xticks рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рд╕реВрдЪреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рджрд░рдЕрд╕рд▓, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣реА рд╣реИ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

fig = plt.figure()
ax = fig.add_subplot(111, xticks=np.arange(11))
ax.plot([0, 10], [0, 10], '-k')
mpld3.show()

рдкрд╛рдВрдбрд╛ рдЕрдкрдиреЗ рдЯрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рдХреБрдЫ рдЕрдЬреАрдм рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рддреНрд░реБрдЯрд┐ рдХрд╣рддреА рд╣реИ рдХрд┐ 2000 рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдкрд╛рдЧрд▓ рд╣реИред рдХреНрдпрд╛ рдкрдВрдбреЛрдВ рдХреЗ рдкрд╛рд╕ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд рдЧреИрд░-рдХреНрд░рдорд┐рдХ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рд╣реИ?

рдпрд╣ рд╕рдВрдЦреНрдпрд╛ 2000 рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡рд░реНрд╖ рд╣реИред datetime рдирд░рдХ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
(рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 6/19/2014: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ datetime рдХреЗ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрд▓рдд рдерд╛ ...)

рдЙрд╣... рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдХреНрдпрд╛ рдпрд╣ to_json рдореЗрдВ pandas рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ?

http://pandas.pydata.org/pandas-docs/dev/io.html#date -handling

рдХреНрдпрд╛ рдпрд╣ рдкрд╛рдВрдбрд╛ рдореЗрдВ to_json рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ?

рд╢рд╛рдпрдж, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╣рдореЗрдВ рдХреЛрдб рдХреЗ рднреАрддрд░ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП try ... except рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╛рдиреА рдЗрд╕реЗ рдПрдХ рддрд░рд╣ рд╕реЗ рдХрд░реЗрдВ рдпрджрд┐ рдорд╛рди рдПрдХ рдкрд╛рдВрдбрд╛ рдЪрд░ рд╣реИ, рддреЛ рдХрд░реЗрдВ рдпрд╣ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ) рдФрд░ рдлрд┐рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрдХреНрд╖ рдкрд░ рдЕрдХреНрд╖ рд▓реЗрдмрд▓ рдХрд┐рд╕реА рднреА JSON рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкрдВрдбреЛрдВ рдиреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИред рдореИрдВ рдЙрд╕ рд╕реНрддрд░ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдирд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдирд╛рдЬреБрдХ рд╕рдорд╛рдзрд╛рди рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рджреБрдГрд╕реНрд╡рдкреНрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

рд╕рдордЭрд╛ред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЬреЗрд╕рди рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рд╡рд┐рдзрд┐ рдХреЛ рдмреЗрдирдХрд╛рдм рдХрд░рдиреЗ рдореЗрдВ рдкрд╛рдЗрдерди рдХреА рдЕрдХреНрд╖рдорддрд╛ рдХреЛ рдЙрдмрд╛рд▓рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдореЗрдВ рдЗрд╕реЗ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП... рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреВрдВрдЧрд╛ред

рдПрдХ рд╕реЗрдХрдВрдб рд░реБрдХреЛ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдкрд╛рдпрдерди 2.7 рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ Python3 рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

In [56]: matplotlib.__version__
Out[56]: '1.3.1'

In [57]: pandas.__version__
Out[57]: '0.13.1'

рд╣реИрд▓реЛ рд╕рднреА рдХреЛ,
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдореБрджреНрд░реА рдЧреНрд░рд╛рдл рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓рддреА рд╣реИ: http://www.stanford.edu/~mwaskom/software/seaborn/examples/many_facets.html

mpld3.fig_to_html(grid.fig, 'test.html')
/home/vagrant/graph/local/lib/python2.7/site-packages/mpld3/mplexporter/exporter.py:82: UserWarni ng: Blended transforms not yet supported. Zoom behavior may not work as expected.
  warnings.warn("Blended transforms not yet supported. "
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/vagrant/graph/local/lib/python2.7/site-packages/mpld3/_display.py", line 236, in fig_to_html
    figure_json=json.dumps(figure_json),
  File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib/python2.7/json/encoder.py", line 178, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: 0 is not JSON serializable

рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ numpy.int64 рдирдВрдмрд░ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЬреЛрдВрд╕ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ json.JSONEencoder рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдПрдХ рд╣реБрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреЗрд╡рд▓ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

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

рдореИрдВрдиреЗ рдПрдХ numpy рд╕рд░рдгреА рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ django 1.6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рдореИрдВрдиреЗ 1.5 рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ 1.6 рдФрд░ рдКрдкрд░ рд╕реЗ, рдХреНрд░рдорд╛рдВрдХрди json рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ 1.5 рдФрд░ рдиреАрдЪреЗ рд╕реЗ, рдЕрдЪрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

рдореЗрдб рд╡реЗрдВрдиреНрд▓рд┐рдЧрд╝ рд╣рд┐рд▓реНрд╕реЗрдВ,
рдЧреЗрд░рд╛рд░реНрдбреЛ рдбреЗ рд▓рд╛ рд░реАрд╡рд╛ рдПрд╕реНрдкрд┐рдиреЛрд╕рд╛
рд╣реЙрдЧрд╕реНрдХреЛрд▓реЗрд▓реЗрдХреНрдЯреЛрд░
рд╣реЙрдЧрд╕реНрдХреЛрд▓рди рдФрд░ рдЧреЛрдЬреЛрд╡рд┐рдХ
рдИ-рдкреЛрд╕реНрдЯ: рдЬреЗрд░рд╛рд░реНрдбреЛред [email protected]
рдореЛрдмрд┐рд▓: +47 950 13 322

рдкрд░ 19 рдЬреВрди 2014, 16:56 рдкрд░, lvasseur [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рд╣реИрд▓реЛ рд╕рднреА рдХреЛ,
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдореБрджреНрд░реА рдЧреНрд░рд╛рдл рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓рддреА рд╣реИ: http://www.stanford.edu/~mwaskom/software/seaborn/examples/many_facets.html

mpld3.fig_to_html(grid.fig, 'test.html')
/home/vagrant/graph/local/lib/python2.7/site-packages/mpld3/mplexporter/exporter.py:82: UserWarni ng: рдорд┐рд╢реНрд░рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЬрд╝реВрдо рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреАред рдЪреЗрддрд╛рд╡рдиреА ("рдорд┐рд╢реНрд░рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рдЕрднреА рддрдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред"
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "", рд▓рд╛рдЗрди 1, рдЗрди
рдлрд╝рд╛рдЗрд▓ "/home/vagrant/graph/local/lib/python2.7/site-packages/mpld3/_display.py", рд▓рд╛рдЗрди 236, fig_to_html рдореЗрдВ
Fig_json=json.dumps(figure_json),
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python2.7/json/__init__.py", рд▓рд╛рдЗрди 231, рдбрдВрдк рдореЗрдВ
рд╡рд╛рдкрд╕реА _default_encoder.encode(obj)
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python2.7/json/encoder.py", рд▓рд╛рдЗрди 201, рдПрдиреНрдХреЛрдб рдореЗрдВ
рд╡рд┐рдЦрдВрдбреВ = self.iterencode(o, _one_shot=True)
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python2.7/json/encoder.py", рд▓рд╛рдЗрди 264, iterencode рдореЗрдВ
рд╡рд╛рдкрд╕реА _iterencode(o, 0)
рдлрд╝рд╛рдЗрд▓ "/usr/lib/python2.7/json/encoder.py", рдкрдВрдХреНрддрд┐ 178, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ
рдЯрд╛рдЗрдк рдПрд░рд░ рдмрдврд╝рд╛рдПрдБ (repr(o) + "JSON рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реИ")
рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: 0 JSON рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реИ
рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ numpy.int64 рдирдВрдмрд░ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЬреЛрдВрд╕ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ json.JSONEencoder рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдПрдХ рд╣реБрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВред

рдПрдлрд╡рд╛рдИрдЖрдИ,

    from json import JSONEncoder
    class MyEncoder(JSONEncoder):
        def default(self, obj):
            if isinstance(obj, numpy.int64):
                return int(obj)
            return JSONEncoder.default(self, obj)

    return template.render(figid=json.dumps(figid),
                           d3_url=d3_url,
                           mpld3_url=mpld3_url,
                           figure_json=json.dumps(figure_json, cls=MyEncoder),
                           extra_css=extra_css,
                           extra_js=extra_js)

/mpld3/_display.py рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИ: fig_to_html

рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рд╣реИ рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╕рд╣реА рджрд┐рд╢рд╛ рд╣реИред json.dump рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ default рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╣рд▓реНрдХрд╛ рд╡рдЬрди рд╕рдорд╛рдзрд╛рди рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдВрдд рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рдЫреЛрдЯреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдХреНрдпрд╛ рдЖрдк рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ?

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

рдореИрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЖрдЬрд╝рдорд╛ рджреВрдВрдЧрд╛

рдЕрднреА рднреА рдЗрд╕рд╕реЗ рднреНрд░рдорд┐рдд рд╣реИрдВ... рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ #213 рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рддрдп рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдореИрдВ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ int64 рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ ...

рдХреНрдпрд╛ рдпрд╣ рд╣рд▓ рд╣реБрдЖ?
рдореИрдВ рдПрдХ рдкрд╛рдВрдбрд╛ рдЙрддреНрдкрдиреНрди рдЖрдВрдХрдбрд╝рд╛ fig_to_html рдкреНрд░рддреАрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ (рдореБрдЭреЗ TypeError: 0 is not JSON serializable )ред рдЪрд┐рддреНрд░рд╛ рдареАрдХ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
рдЬрдм рдореИрдВ plt.bar рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рднреА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдпрджрд┐ рдореИрдВ рдХрд╕реНрдЯрдо рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде yticks рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ?

рдкрдХреНрдХрд╛ рдирд╣реАрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдХреНрд╖ рд▓реЗрдмрд▓ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдЧреИрд░-рдХреНрд░рдорд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдордЭ рдореЗрдВ рдЖрдП рддреЛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВред

рдмрд╕ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ

dates = df.Date.apply(lambda dt: dt.strftime('%B')[:3] + dt.strftime(' %d')).values
plt.xticks(x, dates, rotation='vertical')

рд▓реЗрдХрд┐рди рд╕рд╛рде рдирд╣реАрдВ

ax.set_xticklabels(dates, rotation='vertical')

рдЙрдореНрдореАрдж рд╣реИ рдХреА рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЖрдЧреЗ рдХреЗ рдирд┐рд░реАрдХреНрд╖рдг рдкрд░, рдЬрдмрдХрд┐ рдмрд╛рдж рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдореА рдЖрдВрдХрдбрд╝реЗ рдХреА xticks рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ 2: рдореЗрд░рд╛ рдмреБрд░рд╛, рдЕрднреА рдкрддрд╛ рдЪрд▓рд╛ рдЯрд┐рдХ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ (#22)ред

FWIW, рдмреЙрдХреНрд╕рдкреНрд▓реЙрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

import numpy as np, mpld3
np.random.seed(937)
data = np.random.lognormal(size=(37, 4), mean=1.5, sigma=1.75)
labels = list('ABCD')
fs = 10  # fontsize

fig, axes = plt.subplots(1, 1, figsize=(6, 6)) 
axes.boxplot(data, labels=labels)
axes.set_title('Default', fontsize=fs)

html_fig = mppld3.fig_to_html(fig)

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣рд╛рдБ рдкрд┐рдк рдлрд╝реНрд░реАрдЬрд╝ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ

cycler==0.10.0
Jinja2==2.8
MarkupSafe==0.23
matplotlib==1.5.1
mpld3==0.2
numpy==1.10.4
pandas==0.17.1
ptyprocess==0.5.1
pyparsing==2.1.0
python-dateutil==2.5.0
pytz==2015.7
six==1.10.0
wheel==0.29.0

рдкрд╛рдпрдерди 3.4.3 рдХреЗ рд▓рд┐рдПред

@lvasseur рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рдкреИрдЪ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ _the_ рд╕рдорд╛рдзрд╛рди рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдореВрд▓ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, np.arange(2000,2002,1) рдХреЗ рдмрдЬрд╛рдп [float(x) for x in range(2000,2002)] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдореБрджреНрд░реА рдЧреНрд░рд╛рдл рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓рддреА рд╣реИ: http://www.stanford.edu/~mwaskom/software/seaborn/examples/many_facets.html

рд╕рдореБрджреНрд░реА рдмрд╛рд░рдкреНрд▓реЙрдЯ рдЖрдХреГрддрд┐ рдХреЗ рд▓рд┐рдП mtld3.display(fig) рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:

рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: 0 JSON рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рд╣реИ

рдХреНрдпрд╛ рдХреЛрдИ mpld3 рдХреЗ рд╕рд╛рде рд╕рдореБрджреНрд░реА рднреВрдЦрдВрдбреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдорд╛рдиреЛрдВ рдореЗрдВ nan рд╣реИред рдЕрдЧрд░ рдореИрдВ _display.py:243 рдкрд░ рдЯреВрдЯ рдЬрд╛рддрд╛
рдФрд░ nan рдХреЛ None рд╕реЗ figure_json dict рдореЗрдВ рдмрджрд▓реЗрдВ, рдореБрдЭреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдореИрдВ рдбреАрдмрдЧ рджреБрднрд╛рд╖рд┐рдпрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬрд╣рд╛рдВ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ рд▓реЗрдХрд┐рди mpld3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдирд╣реАрдВ)ред
рддреЛ, sns.barplot() рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ plt.bar() рдкреНрд░рддрд┐рдкрд╛рджрди рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВ рджреЛрдиреЛрдВ рднреВрдЦрдВрдбреЛрдВ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрд╛, рд▓реЗрдХрд┐рди рдкреИрдЪ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ (https://github.com/mpld3/mpld3/pull/213) рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ред

рдореИрдВрдиреЗ рд▓рд╛рдЗрди рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛

elif isinstance(obj, (numpy.ndarray,)):
        return obj.tolist()

рд╕реЗ /mpld3/_display.py: NumpyEncoder

рдереИрдВрдХреНрдпреВ @jaklinger рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ !!!

@jaklinger , рд╣рд╛рдп рд╡рд╣рд╛рдБ, рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдмрд╛рдд рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ - рдореИрдВрдиреЗ numpy array рдХреЛ рдПрдХ рдбрд┐рдХреНрд╢рдирд░реА рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдпрд╣ рдПрд░рд░ рдлреЗрдВрдХ рд░рд╣рд╛ рдерд╛ "float 32 is not json serializable", рд╣рд╛рд▓рд╛рдВрдХрд┐ рдбрд┐рдХреНрд╢рдирд░реА рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереА, рдЗрд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЪреЗрдХ рдХрд┐рдпрд╛ред рдмрд╕ рдЕрдкрдиреЗ tolist() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рд╕рд░рдгреА рдХреЛ рдкрд╛рдпрдерди рд╕реВрдЪреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИред
рдкрд┐рдЫрд▓рд╛:[100. 0. 0. 0. 0.]
рдЯреЛрд▓рд┐рд╕реНрдЯ рдХреЗ рд╕рд╛рде: [100.0, 0.0, 0.0, 0.0, 0.0] рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ред
рддреЛ рдЖрдЦрд╝рд┐рд░ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рдерд╛? рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

@padmaksha18 рдореИрдВ 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ

рд╕реБрдиреНрди рд╕рд░рдгреА рдХреЛ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛

рд▓реЗрдХрд┐рди (рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ) numpy рдФрд░ python рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ ( float32 рдПрдХ float рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ; рдПрдХ array list , рдЖрджрд┐ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ) рдФрд░ JSONEncoder рд╡рд░реНрдЧ рдХреЗрд╡рд▓ рдореВрд▓ python рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА 'рдЕрдиреБрдорддрд┐' рджреЗрддрд╛ рд╣реИред рддреЛ ... рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдмрд┐рдВрджреБ (рдЬрд┐рд╕рдореЗрдВ рдирдпрд╛ рдлрд╝рд┐рдХреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИ) рдЗрдирдкреБрдЯ obj рдХреЛ рдореВрд▓ python рд╕рдордХрдХреНрд╖ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рд╣реИред

@jaklinger : рд╣рд╛рдп рдЬреЛрдПрд▓, рдлрд┐рд░ рд╕реЗ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдПрдХ рдбрд┐рдХреНрд╢рдирд░реА рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдореЗрд░рд╛ рдорддрд▓рдм рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЛ рдРрд╕реЗ рдПрд░реЗ рд▓рд┐рдП рдФрд░ рдПрдХ рдХреА рд╡реИрд▓реНрдпреВ рдкреЗрдпрд░ рдмрдирд╛рдпрд╛, рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рди рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рджреЗрд╢реА рдкрд╛рдпрдерди рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдмрд╕ рдПрдХ рдФрд░ рдмрд╛рдд рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ рдпрджрд┐ рдХрд┐рд╕реА рд╢рдмреНрджрдХреЛрд╢ рдХреЛ jsonify рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ jsonencoder рд╡рд░реНрдЧ рддрдм рдЪрд┐рддреНрд░ рдореЗрдВ рдЖрдПрдЧрд╛? рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ "рдЧрд┐рдЯ+ https://github.com/javadba/mpld3@display_fix "

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

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

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

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

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

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

dmiller7115 picture dmiller7115  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ