In [ ]:
import numpy as np
import bqplot.pyplot as plt
In [ ]:
data = np.random.rand(3)
# Set `animation_duration` (in milliseconds) to have smooth transitions
fig = plt.figure(animation_duration=1000)
pie = plt.pie(data, display_labels='outside')
fig
In [ ]:
n = np.random.randint(1, 10)
pie.sizes = np.random.rand(n)
In [ ]:
with pie.hold_sync():
pie.display_values = True
pie.values_format = '.1f'
In [ ]:
pie.sort = True
In [ ]:
pie.selected_style = {'opacity': '1', 'stroke': 'white', 'stroke-width': '2'}
pie.unselected_style = {'opacity': '0.2'}
pie.selected = [1]
In [ ]:
pie.selected = None
In [ ]:
pie.labels = list('ABCDEF')
For more on piechart interactions, see the Mark Interactions notebook
In [ ]:
pie.label_color = 'Red'
pie.font_size = '20px'
pie.font_weight = 'bold'
In [ ]:
fig1 = plt.figure(animation_duration=1000)
pie1 = plt.pie(np.random.rand(6), inner_radius=0.05)
fig1
In [ ]:
# As of now, the radius sizes are absolute, in pixels
with pie1.hold_sync():
pie1.radius = 150
pie1.inner_radius = 100
In [ ]:
# Angles are in radians, 0 being the top vertical
with pie1.hold_sync():
pie1.start_angle = -90
pie1.end_angle = 90
In [ ]:
pie1.y = 0.1
pie1.x = 0.6
pie1.radius = 180
In [ ]:
pie1.stroke = 'brown'
pie1.colors = ['orange', 'darkviolet']
pie1.opacities = [.1, 1]
fig1
The Pie
allows for its colors to be determined by data, that is passed to the color
attribute.
A ColorScale
with the desired color scheme must also be passed.
In [ ]:
from bqplot import ColorScale, ColorAxis
n = 7
size_data = np.random.rand(n)
color_data = np.random.randn(n)
fig2 = plt.figure()
plt.scales(scales={'color': ColorScale(scheme='Reds')})
pie2 = plt.pie(size_data, color=color_data)
fig2