Bokeh: Bagan Donat, ubah ukuran default

Jika saya tidak salah Bagan donat adalah satu-satunya yang sudah menetapkan ukuran default 400. Jadi, jika saya menyetel ukuran plot saya menjadi kurang dari 400, donat akan memotong bagian atas dan bawah plot. Bagaimana cara mengubah ukuran donatnya juga

Kode:

arr = [1,3,2,4]
data = pd.Series(arr, index=list('abcd'))
plot = Donut(data, plot_height=300)
show(plot)

Tangkapan Layar


person Austin    schedule 04.05.2017    source sumber
comment
Saya telah mencoba alat pengubah ukuran dan meskipun berfungsi, saya tidak ingin pengguna menggunakan alat tersebut setiap saat   -  person Austin    schedule 04.05.2017


Jawaban (1)


bokeh.charts API, termasuk Donut tidak digunakan lagi dan dihapus seluruhnya pada tahun 2017. Sebagai gantinya, gunakan bokeh.plotting API yang stabil dan didukung. Dalam rilis 0.13.0 Anda dapat melakukan ini:

from collections import Counter
from math import pi

import pandas as pd

from bokeh.palettes import Category20c
from bokeh.plotting import figure, show
from bokeh.transform import cumsum

# Data

x = Counter({
    'United States': 157, 'United Kingdom': 93, 'Japan': 89, 'China': 63,
    'Germany': 44, 'India': 42, 'Italy': 40,'Australia': 35,
    'Brazil': 32, 'France': 31, 'Taiwan': 31,'Spain': 29
})

data = pd.DataFrame.from_dict(dict(x), orient='index').reset_index().rename(index=str, columns={0:'value', 'index':'country'})
data['angle'] = data['value']/sum(x.values()) * 2*pi
data['color'] = Category20c[len(x)]

# Plotting code

p = figure(plot_height=350, title="Donut Chart", toolbar_location=None,
           tools="hover", tooltips=[("Country", "@country"),("Value", "@value")])

p.annular_wedge(x=0, y=1, inner_radius=0.2, outer_radius=0.4,
                start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),
                line_color="white", fill_color='color', legend='country', source=data)

p.axis.axis_label=None
p.axis.visible=False
p.grid.grid_line_color = None

show(p)

masukkan deskripsi gambar di sini

person bigreddot    schedule 07.06.2018