INNER CODE UNIT · Python
BokehPieChart
DataDog/KubeHound · scripts/dashboard-demo/main.py:212
def BokehPieChart(raw_data):
sorted_data = dict(sorted(raw_data.items(), key=lambda item: item[1], reverse = True))
q = len(sorted_data) // TOP_ATTACKS
iter = len(sorted_data) % TOP_ATTACKS * q
for i in range(1, iter):
sorted_data.popitem()
data = pd.Series(sorted_data).reset_index(name='value').rename(columns={'index':'attacks'})
data['angle'] = data['value']/data['value'].sum() * 2*pi
data['color'] = TolRainbow[len(sorted_data)]
p = figure( title=f"Attacks distribution (top{TOP_ATTACKS})", toolbar_location=None,
tools="hover", tooltips="@attacks: @value", x_range=(-0.5, 1.0))
r = p.wedge(x=0, y=1, radius=0.4,
start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),
line_color="white", fill_color='color', legend_field='attacks', source=data)