#!/usr/bin/env python # coding: utf-8 # ## Kernalはpythonでないとinitialize_javascriptが動かない # ここではKernelをpython2とし、load_extを使ってsageの機能を後付けします。 # # In[6]: get_ipython().run_line_magic('load_ext', 'sage') # In[7]: from IPython.core.display import HTML import nvd3 nvd3.ipynb.initialize_javascript(use_remote=True) # 配列は、sageのままではシリアライズに失敗するので、numpyの配列で定義します。 # In[8]: from nvd3 import pieChart import numpy as np type = 'pieChart' chart = pieChart(name=type, color_category='category20c', height=450, width=450) xdata = np.array(["Orange", "Banana", "Pear", "Kiwi", "Apple", "Strawberry", "Pineapple"]) ydata = np.array([3, 4, 0, 1, 5, 7, 3]) extra_serie = {"tooltip": {"y_start": "", "y_end": " cal"}} chart.add_serie(y=ydata, x=xdata, extra=extra_serie) chart.buildcontent() #HTML(chart.htmlcontent) print chart.htmlcontent # In[9]: chart # In[10]: from nvd3 import scatterChart import random type = "scatterChart" chart = scatterChart(name=type, height=350, width=800, x_is_date=False) chart.set_containerheader("\n\n

" + type + "

\n\n") nb_element = 50 xdata = np.array([i + random.randint(1, 10) for i in range(nb_element)]) ydata = np.array([i * random.randint(1, 10) for i in range(nb_element)]) ydata2 = np.array([x * 2 for x in ydata]) ydata3 = np.array([x * 5 for x in ydata]) kwargs1 = {'shape': 'circle', 'size': '1'} kwargs2 = {'shape': 'cross', 'size': '10'} kwargs3 = {'shape': 'triangle-up', 'size': '100'} extra_serie = {"tooltip": {"y_start": "", "y_end": " calls"}} chart.add_serie(name="serie 1", y=ydata, x=xdata, extra=extra_serie, **kwargs1) chart.add_serie(name="serie 2", y=ydata2, x=xdata, extra=extra_serie, **kwargs2) chart.add_serie(name="serie 3", y=ydata3, x=xdata, extra=extra_serie, **kwargs3) chart.buildhtml() chart # In[ ]: