Examples¶
The different webviz
visualization plugins can, when installed,
be imported using e.g.
from webviz.page_elements import BarChart, LineChart, PieChart, ScatterPlotMatrix
Bar chart¶
from webviz import Webviz, Page
from webviz.page_elements import BarChart
import pandas as pd
web = Webviz('Bar Chart Example')
page = Page('Bar Chart')
bars1 = [10, 15, 13, 17]
bars2 = [16, 5, 11, 9]
bars = pd.DataFrame({'bars1': bars1, 'bars2': bars2})
page.add_content(BarChart(bars))
web.add(page)
web.write_html("./webviz_example", overwrite=True, display=False)
Fan chart¶
from webviz import Webviz, Page
from webviz.page_elements import FanChart
import pandas as pd
web = Webviz('Fan Chart Example')
page = Page('Fan Chart')
index = ['2012-01-01', '2012-01-02', '2012-01-03', '2012-01-04']
name = ['line-1', 'line-1', 'line-1', 'line-1']
mean = [10, 15, 13, 17]
p10 = [11, 16, 13, 18]
p90 = [9, 14, 12, 16]
areaMax = [16, 17, 16, 19]
areaMin = [4, 1, 9, 8]
lines = pd.DataFrame({
'index': index,
'name': name,
'mean': mean,
'p10': p10,
'p90': p90,
'max': areaMax,
'min': areaMin
})
observations = pd.DataFrame({
'name': ['line-2', 'line-3'],
'value': [4, 3],
'error': 2
})
page.add_content(FanChart(lines, observations))
web.add(page)
web.write_html("./webviz_example", overwrite=True, display=False)
Heat map¶
from webviz import Webviz, Page
from webviz.page_elements import HeatMap
import pandas as pd
web = Webviz('Heat Map Example')
page = Page('Heat Map')
lines = pd.DataFrame(
[[1, 20, 30, 50, 1], [20, 1, 60, 80, 30], [30, 60, 1, -10, 20]],
columns=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
index=['Morning', 'Afternoon', 'Evening']
)
page.add_content(HeatMap(lines))
web.add(page)
web.write_html("./webviz_example", overwrite=True, display=False)
Histogram¶
from webviz import Webviz, Page
from webviz.page_elements import Histogram
import pandas as pd
import numpy as np
web = Webviz('Histogram Example')
page = Page('Histogram')
normal = [x for x in np.random.normal(size=1000).tolist()]
poisson = [x for x in np.random.poisson(10, 1000).tolist()]
triangular = [x for x in np.random.triangular(0, 10, 20, 1000).tolist()]
data = pd.DataFrame({'normal': normal, 'poisson': poisson,
'triangular': triangular})
page.add_content(Histogram(data, nbinsx=20))
web.add(page)
web.write_html("./webviz_example", overwrite=True, display=False)
Line chart¶
from webviz import Webviz, Page
from webviz.page_elements import LineChart
import pandas as pd
web = Webviz('Line Chart Example')
page = Page('Line Chart')
line1 = [10, 15, 13, 17]
line2 = [16, 5, 11, 9]
lines = pd.DataFrame({
'line 1': line1,
'line 2': line2,
'line 3': line2,
'line 4': line2,
'line 5': line2,
'line 6': line2,
})
page.add_content(LineChart(lines))
web.add(page)
web.write_html("./webviz_example", overwrite=True, display=False)
Pie chart¶
from webviz import Webviz, Page
import pandas as pd
from webviz.page_elements import PieChart
web = Webviz('Pie Chart Example')
page = Page('Pie Chart')
frame = pd.DataFrame(
[[19, 26, 55], [33, 14, 55]],
columns=['sector 1', 'sector 2', 'sector 3'])
page.add_content(PieChart(frame))
web.add(page)
web.write_html("./webviz_example", overwrite=True, display=False)
Scatter plot¶
from webviz import Webviz, Page
from webviz_scatter_plot import ScatterPlot
import pandas as pd
web = Webviz('Scatter Plot Example')
page = Page('Scatter Plot')
index = ['2012-01-01', '2012-01-02', '2012-01-03', '2012-01-04']
point1 = [10, 15, 13, 17]
point2 = [16, 5, 11, 9]
points = pd.DataFrame({
'index': index,
'points 1': point1,
'points 2': point2
})
points.set_index('index', inplace=True)
page.add_content(ScatterPlot(points))
web.add(page)
web.write_html("./webviz_example", overwrite=True, display=False)
Scatter plot matrix¶
from webviz import Webviz, Page
from webviz.page_elements import ScatterPlotMatrix
import pandas as pd
web = Webviz('Scatter Plot Matrix Example')
page = Page('Scatter Plot Matrix')
point1 = [10.6, 15, 13.4, 17]
point2 = [16, 5, 11, 9.7]
point3 = [51, 25.6, 51, 23]
point4 = [19, 75.1, 23, 49]
name = ['name1', 'name1', 'name2', 'name2']
points = pd.DataFrame({
'point1': point1,
'point2': point2,
'point3': point3,
'point4': point4,
'name': name
})
page.add_content(ScatterPlotMatrix(points))
web.add(page)
web.write_html("./webviz_example", overwrite=True, display=False)
Tornado plot¶
from webviz import Webviz, Page
from webviz.page_elements import TornadoPlot
import pandas as pd
web = Webviz('Tornado Plot Example')
page = Page('Tornado Plot')
high = [0.8, 1, 0.3, 0.4]
low = [0.5, -0.7, -.5, -0.1]
index = ['A', 'B', 'C', 'D']
bars = pd.DataFrame(
{'low': low, 'high': high},
index=index
)
plot = TornadoPlot(bars)
plot.add_annotation(
x=low[1],
y=index[1],
ay=0,
ax=-20,
text='label')
page.add_content(plot)
web.add(page)
web.write_html("./webviz_example", overwrite=True, display=False)