我的第一个问题是函数实际上是如何导入的?我有下面的语句,但是show()函数不在bokeh.plotting中,而是在另一个文件夹/模块中,即bokeh.io.showing,那么它是如何使用bokeh.plotting导入的
from bokeh.plotting import figure, output_notebook, show
下一个问题是:以下函数中使用了一些关键字:
p = figure(width = 400, height = 400)
我怎么知道这里可以使用哪些关键字?我知道如果我使用python的帮助函数,它可以给出一些想法,但这里只显示以下内容
figure(**kwargs)
Create a new Figure for plotting.
没有提到哪些是关键字,可以在这个函数中使用
我打开源代码,得到了以下信息:
def __init__(self, *arg, **kw):
if 'plot_width' in kw and 'width' in kw:
raise ValueError("Figure called with both 'plot_width' and 'width' supplied, supply only one")
if 'plot_height' in kw and 'height' in kw:
raise ValueError("Figure called with both 'plot_height' and 'height' supplied, supply only one")
if 'height' in kw:
kw['plot_height'] = kw.pop('height')
if 'width' in kw:
kw['plot_width'] = kw.pop('width')
所以我知道什么可以用在这个(宽度/高度),但有没有其他方法
它接受**kwargs这一事实意味着传递给函数的任何关键字参数都是有效参数
这通常是针对较低级别实现的包装器完成的。 这样做的好处是不必更改中间函数(您调用的函数-例如bokeh.figure,它在内部调用matplotlib函数)
缺点是,由于它接受任何关键字参数,因此很难为它维护文档,因为当中间函数实现发生更改时,以及当基础函数的实现发生更改时,必须更新文档
这在许多数据科学库中是一种非常常见的做法(尽管您会发现一些非常流行的库会经历维护文档的艰苦过程,例如matplotlib)
一般来说,这些中间函数通常接受(*args和**kwargs),因为bokeh的图形不接受它,所以不能将类似于图(1,2,3)的东西传递给它
如果这是你第一次遇到**的东西(把列表和字典作为参数解包),这可能是一个很好的时间谷歌搜索相同的,因为这是一个非常常见的情况
就可接受的论据而言,我发现:
关键字参数: Figure Documentation
活动拖动(任意(自动、字符串、实例(拖动)): 哪个拖动工具最初应该处于活动状态(默认值:'自动')
活动的检查(Auto、String、Instance(检查)、Seq(Instance(检查)): 哪个拖动工具最初应该处于活动状态(默认值:'自动')
活动滚动(自动、字符串、实例(滚动)): 哪个滚动工具最初应该处于活动状态(默认值:'自动')
活动点击(自动、字符串、实例(点击)): 哪个攻丝工具最初应处于激活状态(默认值:'自动')
工具(或(字符串,序列(或(字符串,实例(工具))): 绘图应该从工具开始(default:'平移、滚轮\u缩放、框\u缩放、保存、重置、帮助')
工具提示(字符串,列表(元组(字符串,字符串))): 配置地物工具提示的可选参数。此参数接受与HoverTool.tooltips属性相同的值。如果在tools参数中指定了悬停工具,则此值将覆盖该悬停工具工具提示值。如果在tools参数中没有指定悬停工具,那么在这里传递工具提示将导致创建和添加工具提示(默认值:无)
x\U轴\U标签(字符串): x轴的标签(默认值:“”)
x轴位置(枚举(垂直位置)): x轴的位置(default:'低于')
x_轴类型(或(Auto、Enum(枚举(linear、log、datetime、mercator))): x轴的类型(默认值:'自动')
x_次要_记号(任意(Auto,Int)): 相邻x轴主记号之间的次记号数(默认值:'自动')
x\U范围(任何): 自定义绘图的x范围(默认值:无)
y轴\标签(字符串): y轴的标签(默认值:“”)
y轴位置(枚举(水平位置)): y轴的位置(default:'左')
y轴类型(自动、枚举(枚举(线性、对数、日期时间、墨卡托)): y轴的类型(默认值:'自动')
小刻度(任意(Auto,Int)): 相邻y轴主记号之间的次记号数(默认值:'自动')
y\ U范围(任何): 自定义绘图的x范围(默认值:无)
是的
我发现得到关键词的唯一方法是给出一些错误的关键词,例如len。它将给我们AttributeError和期望值。我运行了以下命令:
它给了我以下信息:
我不确定我的另一个问题
编辑: 我的另一个问题也得到了答案。import语句检查init.py文件,并且该文件中的所有对象都可以访问使用。在本例中,show()已导入
相关问题 更多 >
编程相关推荐