Python 如何更改bokeh.charts轴标签大小?

Python 如何更改bokeh.charts轴标签大小?,python,data-visualization,jupyter,bokeh,Python,Data Visualization,Jupyter,Bokeh,我使用的是Bokeh0.11.1,PipInstall-UpgradeBokeh报告说我使用的是最新版本 如果使用bokeh.plotting,我可以确定如何更改bokeh x轴文本大小参数,但不能在bokeh图表中更改。如果在Jupyter笔记本中运行,下面的代码将显示非常紧密的x轴标签。我想字体要小一些-有没有关于如何做到这一点的提示 import pandas as pd data = pd.read_csv("https://raw.githubusercontent.com/pm0kj

我使用的是Bokeh0.11.1,PipInstall-UpgradeBokeh报告说我使用的是最新版本

如果使用bokeh.plotting,我可以确定如何更改bokeh x轴文本大小参数,但不能在bokeh图表中更改。如果在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\u label\u text\u font\u size=8pt,但如果这样做,则会出现错误
AttributeError:“Chart”对象没有属性“yaxis”。

有一个完整的用户指南部分专门介绍,包括如何设置样式。由于由bokeh.charts和bokeh.plotting创建的打印都解析为同一组低级对象,因此在任何情况下设置属性都是相同的:

p.yaxis.axis_label_text_font_size = "8pt"
以下是0.12.3的完整工作示例:

这是结果,带有微小的y轴标签:

如果由于某种原因无法更新到版本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', ...)]

获取所有轴对象的名称,您可以通过设置轴的“标签”、“文字”、“字体”和“大小”属性直接修改这些对象。但您必须找出哪个轴是x,哪个轴是y。

当我尝试获取AttributeError时:“Chart”对象没有属性“yaxis”。我将编辑问题,以表明我已经尝试过!然后你有一个相当古老的博克版本。这就是为什么在寻求帮助时,说明您使用的软件版本总是很重要的原因。我的第一个建议只是更新到一个更新的版本。好的,我正在使用pip可以安装的最新版本,但仍然看到了问题。我已经编辑了这个问题。然后您有一些安装或环境问题,或者您的系统特有的其他问题。我已经用完整的笔记本会话和输出更新了上面的答案,Bokeh 0.12.3是当前最新发布的版本,可通过pip或conda获得。我还更新了答案,以防您的意思是不允许更新到Bokeh>=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', ...)]