注意:此问题涉及"第一代"Bokeh服务器,该服务器已被弃用和删除多年.此问题或其答案中的任何内容均与任何版本的Bokeh> = 0.11无关
有关使用现代支持的Bokeh服务器的详细信息,请参阅"用户指南"中的" 运行散热服务器"一章.
我正在尝试了解Bokeh是否正在构建一个交互式应用程序.我正在查看Bokeh示例,我发现大多数示例都是在全局命名空间中编写的,但是"app"子目录中的那些示例是以一种漂亮的,面向对象的方式编写的,其中主类是固有的来自像HBox这样的Property类.
这将是一个混乱的问题,因为我不认为这种编程Bokeh的方式有很好的记录.我遇到的第一件事是除非我包括,否则情节不会画出来extra_generated_classes.
extra_generated_classes做什么?
其次,看起来事件循环setup_events在启动之前调用,create并且随后每次触发事件时调用.
为什么每次触发事件时setup_events都需要注册回调?为什么它不会在第一次尝试注册之前等待创建完成?
我不确定的最后一件事是如何在这里强制重绘一个雕文.滑块演示适用于我,我试图基本上做同样的事情,除了散点图而不是线.
我在我的最后设置了一个pdb跟踪update_data,我可以保证self.source匹配,self.plot.renderers[-1].data_source并且它们都从一开始就进行了调整.但是,self.plot它本身并没有改变.
什么是面向对象的方法相当于调用store_objects来更新绘图?
我对第三个问题特别困惑,因为它看起来不像sliders_app示例需要这样的东西.为了澄清,我正在尝试制作可变数量的小部件/滑块,所以这就是我的代码:
类属性:
extra_generated_classes = [['ScatterBias', 'ScatterBias', 'HBox']]
maxval = 100.0
inputs = Instance(bkw.VBoxForm)
outputs = Instance(bkw.VBoxForm)
plots = Dict(String, Instance(Plot))
source = Instance(ColumnDataSource)
cols = Dict(String, String)
widgets = Dict(String, Instance(bkw.Slider))
# unmodified source
df0 = Instance(ColumnDataSource)
Run Code Online (Sandbox Code Playgroud)
初始化方法
@classmethod
def create(cls):
obj = cls()
##############################
## load DataFrame …Run Code Online (Sandbox Code Playgroud) 我正在使用sqlalchemy文档来反映数据库表automap:http://docs.sqlalchemy.org/en/latest/orm/extensions/automap.html#generating-mappings-from-an-existing-metadata.
当我没有特定的模式,Postgres使用默认public模式时,这按预期工作,我找到我的表的名称:
>>> m = MetaData()
>>> b = automap_base(bind=engine, metadata=m)
>>> b.prepare(engine, reflect=True)
>>> b.classes.keys()
['ads', 'spatial_ref_sys', 'income']
Run Code Online (Sandbox Code Playgroud)
但是当我特定一个显式模式时,我再也无法访问这些表Base.classes了.
>>> m = MetaData(schema='geography')
>>> b = automap_base(bind=engine, metadata=m)
>>> b.prepare(engine, reflect=True)
>>> b.classes.keys()
[]
Run Code Online (Sandbox Code Playgroud)
MetaData虽然反映正确:
>>> b.metadata.tables
immutabledict({geography.usa_cbsa_centroids': Table('usa_cbsa_centroids', MetaData(bind=Engine(postgresql://asteroids:***@localhost:5432/asteroids)), Column('GEOID', VARCHAR(length=5), table=<u
sa_cbsa_centroids>, nullable=False), ...})
Run Code Online (Sandbox Code Playgroud)
请注意,表和列仅在运行时已知.
我有一个原子,它有两个部分.
(def thing (atom {:queue '() :map {}}))
Run Code Online (Sandbox Code Playgroud)
我想更新:queue和:map在一个原子笔划中,以防止它们脱离同步.
(swap! thing update-in [:queue] (list 1))
Run Code Online (Sandbox Code Playgroud)
(从这个问题:如何附加到Clojure原子中的嵌套列表?)
(swap! thing assoc-in [:map 1] (:key :value))
Run Code Online (Sandbox Code Playgroud)
(从这个问题:在Clojure原子中使用swap到MERGE(追加)嵌套映射?)
如何在单个交换语句中执行这些操作?(假设这会阻止他们脱离同步?)
假设我有一个包含这样的地图的原子:
{:count 0 :map hash-map}
Run Code Online (Sandbox Code Playgroud)
如何使用swap将另一个键值对合并到:map?
我正在查看芝加哥开放数据门户网站的公交车站列表,我看到他们已经双倍地逃过了他们的&符号,但并非全部.换句话说,他们有时将他们的&符号编码为& amp;和有时只是& amp;
我注意到的模式是它们在描述字段内双重转义&符号,它们是KML文档本身内部的完全成熟的HTML文档.
有没有人对此有任何见解?这是城市数据中的错误吗?它也无法在Google地球中正确呈现.
我想将值附加到Clojure原子中的列表:
(def thing (atom {:queue '()}))
Run Code Online (Sandbox Code Playgroud)
我知道当它不是原子时,我可以这样做:
(concat '(1 2) '(3))
Run Code Online (Sandbox Code Playgroud)
我怎样才能将其翻译成交换!命令?
注意:我问了一个涉及地图的类似问题:在Clojure原子中使用swap到MERGE(追加)嵌套地图?
我正在创建一个GET端点,使用Express在Node.js中处理这个变量:
?message-timestamp=2012-08-19+20%3A38%3A23
Run Code Online (Sandbox Code Playgroud)
我无法使用req.query访问它.访问req.query.message-timestamp会引发错误("ReferenceError:timestamp is not defined").显然,破折号并不好看.
有什么明显的方法吗?
我创建了一个新的 Clojurescript/Om 项目。目录结构如下所示:
??? project.clj
??? resources
? ??? public
? ??? index.html
? ??? src
? ??? om_tutorial
? ??? core.cljs
??? script
? ??? figwheel.clj
??? src
? ??? clj
? ? ??? test
? ? ??? example-project
? ? ??? core.clj
? ??? cljs
? ??? example-project
? ??? core.cljs
??? target
? ??? classes
? ? ??? META-INF
? ? ??? maven
? ? ??? typing
? ? ??? typing
? ? ??? pom.properties
? ??? …Run Code Online (Sandbox Code Playgroud) 我在别处读到 Dokku 不支持 SQLite。为什么不?我正在使用带有 SQLAlchemy 的 Flask 应用程序,这似乎是所有抽象发生的地方。我不能将 sqlite 数据库文件放在磁盘上的某个位置(/home/dokku/database/my_db,也许?)并将其提供给 SQLAlchemy?
engine = create_engine('sqlite://///home/dokku/database/my_db')
Run Code Online (Sandbox Code Playgroud)
更具体地说,我会使用 Dokku 将该字符串存储为环境变量,而不是直接将其传入。
为什么这行不通?
clojure ×4
sqlalchemy ×2
bokeh ×1
dokku ×1
express ×1
javascript ×1
kml ×1
leiningen ×1
node.js ×1
postgresql ×1
psycopg2 ×1
python ×1
sqlite ×1