import random
from IPython import display as d
import nvd3
nvd3.ipynb.initialize_javascript(use_remote=True)

help(nvd3.ipynb.initialize_javascript)
nvd3.ipynb.initialize_javascript(use_remote=True)

type = 'stackedAreaChart'
chart2 = nvd3.stackedAreaChart(name=type,height=450,use_interactive_guideline=True)
nb_element = 50
xdata = range(nb_element)
ydata = [i * random.randint(1, 10) for i in range(nb_element)]
ydata2 = [x * 2 for x in ydata]
ydata3 = [x * 5 for x in ydata]
chart2.add_serie(name="serie 1", y=ydata, x=xdata)
chart2.add_serie(name="serie 2", y=ydata2, x=xdata)
chart2.add_serie(name="serie 3", y=ydata3, x=xdata)
chart2


chart = nvd3.scatterChart(name='scatterChart_1', width=600, height=300, x_is_date=False)
nb_element = 50
xdata = [i + random.randint(1, 10) for i in range(nb_element)]
ydata = [i * random.randint(1, 10) for i in range(nb_element)]
ydata2 = [x * 2 for x in ydata]
ydata3 = [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

type = 'pieChart'
chart1 = nvd3.pieChart(name=type, color_category='category20c', height=450, width=450)
chart1.set_containerheader("\n\n<h2>" + type + "</h2>\n\n")

#Create the keys
xdata = ["Orange", "Banana", "Pear", "Kiwi", "Apple", "Strawberry", "Pineapple"]
ydata = [3, 4, 0, 1, 5, 7, 3]

#Add the serie
extra_serie = {"tooltip": {"y_start": "", "y_end": " cal"}}
chart1.add_serie(y=ydata, x=xdata, extra=extra_serie)
chart1

chart3=nvd3.lineWithFocusChart(name="focusChart",height=450)
nb_element = 100
xdata = range(nb_element)
ydata = [i * random.randint(1, 10) for i in range(nb_element)]
chart3.add_serie(x=xdata,y=ydata,name="random data")
chart3

import numpy
chart4 = nvd3.multiBarChart(name="multiBarChart",height=450)
max_value = 8
data1 = numpy.random.normal(loc=max_value/2,scale=max_value/6,size=1000)
hist1 = numpy.histogram(data1,bins=100)
xdata1 = hist1[1].tolist()
ydata1 = hist1[0].tolist()

data2 = numpy.random.gamma(shape=2., scale=1., size=1000)
hist2 = numpy.histogram(data2,bins=xdata1)
xdata2 = hist2[1].tolist()
ydata2 = hist2[0].tolist()
chart4.add_serie(x=xdata1,y=ydata1,name="Normal Distribution")
chart4.add_serie(x=xdata2,y=ydata2,name="Gamma Distribution")
chart4