Существует ли общий способ изменить семейство шрифтов и размер шрифта сюжета holoviews (отображается с помощью bokeh и matplotlib соответственно). В частности, я могу sh изменить семейство шрифтов и размер шрифта для hv.Bars
и hv.Sankey
.
Текущий подход, который я использую для изменения семейства шрифтов для меток оси x / y, - это перейти в bokeh / matplotlib и изменить его оттуда.
import numpy as np
import pandas as pd
import holoviews as hv
from bokeh.plotting import show
from matplotlib import rcParams
categoryA = np.random.choice(['Label1','Label2','Label3','Label4'],size=12)
categoryB = np.random.choice(['Target1','Target2'],size=12)
values = np.random.uniform(0,1,size=12)
dd = pd.DataFrame({'A':categoryA,'B':categoryB,'V':values})
В боке это работает нормально для баров
ww = hv.Bars(dd.groupby(['A','B'])['V'].mean().reset_index(),kdims=['A','B'],vdims=['V'])
ww.opts(width=1200)
ww_bokeh = hv.render(ww,backend='bokeh')
ww_bokeh.xaxis.major_label_text_font='arial'
ww_bokeh.xaxis.major_label_text_font_size='16pt'
ww_bokeh.xaxis.axis_label_text_font = 'arial'
ww_bokeh.xaxis.axis_label_text_font_size = '12pt'
ww_bokeh.xaxis.group_text_font='arial'
ww_bokeh = hv.render(ww,backend='bokeh')
show(ww_bokeh)
В matplotlib это работает не очень хорошо , как я полагаю, метки xticks не являются двумя разными объектами.
rcParams['font.family'] = 'sans-serif'
rcParams['font.sans-serif'] = ['Arial']
rcParams['xtick.labelsize'] = '16'
mm = hv.Bars(dd.groupby(['A','B'])['V'].mean().reset_index(),kdims=['A','B'],vdims=['V'])
mm.opts(aspect=5,fig_size=600)
Для Санки я не знаю, как изменить размер шрифта и семейство меток.
from holoviews import opts
hv.extension('bokeh')
tt = hv.Sankey(dd)
tt.opts(opts.Sankey(edge_color=dim('A').str(),label_position='outer'))
tt.opts(opts.Label(text_font_size='20pt')) #this does nothing, as I dont think the labels are Label objects
tt.opts(opts.Text(fontscale=3)) #this also does nothing, as I dont think the labels are Text objects either
tt.opts(height=600,width=800)
В моем случае важно изменить семейство шрифтов, а также размер метки на графике Санки. Для справки я использую: bokeh версии 1.4.0, matplotlib версии 3.1.3, holoviews версии 1.13.0a22.post4 + g26aeb5739 и python версии 3.7 в блокноте Jupyter.
Я пытался вникнуть в исходный код, но заблудился. Так что любой совет или направление будут оценены.