2016-10-27 46 views
0

我正在使用Bokeh 0.11.1,並且pip install --upgrade bokeh報告我正在使用最新版本。如何更改bokeh.charts軸標籤尺寸?

如果使用了bokeh.plotting,我可以確定如何更改散景x軸文本大小參數,但不能用於散景圖表。下面的代碼,如果在Jupyter筆記本上運行,將顯示非常緊密的x軸標籤。我希望字體更小 - 關於如何完成此操作的任何提示?

import pandas as pd 
data = pd.read_csv("https://raw.githubusercontent.com/pm0kjp/datastore/master/river_data.csv") 

import bokeh.charts 
import bokeh.plotting 
bokeh.plotting.output_notebook() 

tooltips=[ 
    ('Water Site ', '$x'), 
    ('Average of Enterococcus Count ', '$y') 
] 

p = bokeh.charts.Scatter(data, x='Site', y='EnteroCount', 
     title="Swimming Holes By Average Enterococcus Count", ylabel="Enterococcus Count", tooltips=tooltips) 
p.width=1000 
bokeh.charts.show(p) 

文檔會建議我可以簡單地添加 p.yaxis.axis_label_text_font_size = "8pt",但如果我這樣做,我得到的錯誤 AttributeError: 'Chart' object has no attribute 'yaxis'

回答

3

整個用戶的指南部分致力於styling visual properties,包括如何樣式axis labels。由於由bokeh.chartsbokeh.plotting創建情節都解析爲同一組低級別的對象,設置屬性是在兩種情況下相同:

p.yaxis.axis_label_text_font_size = "8pt" 

這裏是0.12.3一個完整的工作示例:

In [1]: import bokeh 

In [2]: bokeh.__version__ 
Out[2]: '0.12.3' 

In [3]: import pandas as pd 
    ...: data = pd.read_csv("https://raw.githubusercontent.com/pm0kjp/datastore/master/river_data.csv") 
    ...: 

In [4]: import bokeh.charts 

In [5]: tooltips=[ 
    ...:  ('Water Site ', '$x'), 
    ...:  ('Average of Enterococcus Count ', '$y') 
    ...: ] 
    ...: p = bokeh.charts.Scatter(data, x='Site', y='EnteroCount', 
    ...:   title="Swimming Holes By Average Enterococcus Count", ylabel="Enterococcus Count", tooltips=tooltips) 
    ...: p.width=1000 
    ...: 

In [6]: p.yaxis.axis_label_text_font_size = "4pt" 

In [7]: bokeh.charts.output_file("/tmp/chart.html") 

In [8]: bokeh.charts.show(p) 

這裏是結果,與小y軸標籤:

enter image description here


如果您不能更新到0.12版本出於某種原因,你可以這樣做:

In [12]: from bokeh.models import Axis 

In [13]: p.select(type=Axis) 
Out[13]: 
[LinearAxis(id='54b21a9f-22e0-4f7a-b809-8d4f755a444e', ...), 
CategoricalAxis(id='b52e7b2c-2b18-4578-be42-4fbfba17af60', ...)] 

阿霍德所有軸對象,你可以通過設置自己的axis_label_text_font_size財產直接修改的。但是你必須弄清楚哪個軸是x軸,哪個軸是y軸。

+0

當我嘗試,我得到'AttributeError:'圖表'對象沒有屬性'yaxis''。我將編輯問題以表明我已經嘗試過! – Joy

+1

然後你有一個相當舊版本的散景。這就是爲什麼在請求幫助時,說明您正在使用的軟件的版本總是很重要。我的第一個建議只是更新到更新的版本。 – bigreddot

+0

好吧,我正在使用pip可以安裝的最新散景,並且仍然可以看到問題。我編輯了這個問題。 – Joy