- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试修改 Bokeh 库图中的代码。它的链接是 here 。
我的目标是为绘图提供不同的 y 尺度。我编辑了 make_plot 函数,而是复制该函数的内容来尝试制作第二个(右上)图,使用 x 和 y2 列而不是用于第一个(左上)图。
我到目前为止:
from __future__ import print_function
import numpy as np
import pandas as pd
from bokeh.util.browser import view
from bokeh.document import Document
from bokeh.embed import file_html
from bokeh.layouts import column, gridplot
from bokeh.models import Circle, ColumnDataSource, Div, Grid, Line, LinearAxis, Plot, Range1d
from bokeh.resources import INLINE
raw_columns=[
[176.232, 2.212975, 176.232, 14088.2, 10.0, 7.46, 8.0, 6.58],
[177.487, 2.212190, 177.487, 14080.6, 8.0, 6.77, 8.0, 5.76],
[178.743, 2.211719, 178.743, 14057.6, 13.0, 12.74, 8.0, 7.71],
[180, 2.211562, 180, 14019.3, 7.11, 8.0, 8.84],
[181.257, 2.211719, 181.257, 14080.6, 11.0, 7.81, 8.0, 8.47],
[182.513, 2.212190, 182.513, 14057.6, 14.0, 8.84, 8.0, 7.04],
[183.768, 2.212975, 183.768, 14019.3, 5.0, 5.73, 8.0, 6.89]]
df = pd.DataFrame(data=raw_columns, columns=
['Ix','Iy','IIx','IIy','IIIx','IIIy','IVx','IVy'])
circles_source = ColumnDataSource(
data = dict(
xi = df['Ix'],
yi = df['Iy'],
xii = df['IIx'],
yii = df['IIy'],
xiii = df['IIIx'],
yiii = df['IIIy'],
xiv = df['IVx'],
yiv = df['IVy'],
)
)
x = np.linspace(176, 184, 100)
x1column = df['Ix'].values
y1column = df['Iy'].values
#y = 0.0000995532*x**2 - 0.0358391636*x + 5.4370863900
z = np.polyfit(x1column,y1column,2)
y = z[0]*x**2 + z[1]*x +z[2]
lines_source = ColumnDataSource(data=dict(x=x, y=y))
xdr = Range1d(start=176, end=184)
ydr = Range1d(start=2.2115, end=2.2135)
x2dr = Range1d(start=-0.12, end=0.12)
y2dr = Range1d(start=14000, end=14100)
x2column = df['IIx'].values
y2column = df['IIy'].values
z2 = np.polyfit(x1column,y2column,2)
y2 = z2[0]*x**2 + z2[1]*x +z2[2]
def make_plot(title, xname, yname):
plot = Plot(x_range=xdr, y_range=ydr, plot_width=400, plot_height=400,
background_fill_color='#efefef')
plot.title.text = title
xaxis = LinearAxis(axis_line_color=None)
plot.add_layout(xaxis, 'below')
yaxis = LinearAxis(axis_line_color=None)
plot.add_layout(yaxis, 'left')
plot.add_layout(Grid(dimension=0, ticker=xaxis.ticker))
plot.add_layout(Grid(dimension=1, ticker=yaxis.ticker))
line = Line(x='x', y='y', line_color="#666699", line_width=2)
plot.add_glyph(lines_source, line)
circle = Circle(
x=xname, y=yname, size=12,
fill_color="#cc6633", line_color="#cc6633", fill_alpha=0.5
)
plot.add_glyph(circles_source, circle)
return plot
#where will this comment show up
I = make_plot('I', 'xi', 'yi')
#playing around starts here
plot = Plot(x_range=x2dr, y_range=y2dr, plot_width=400, plot_height=400,
background_fill_color='#efefef')
plot.title.text = 'd-d transition'
xaxis = LinearAxis(axis_line_color=None)
plot.add_layout(xaxis, 'below')
yaxis = LinearAxis(axis_line_color=None)
plot.add_layout(yaxis, 'left')
plot.add_layout(Grid(dimension=0, ticker=xaxis.ticker))
plot.add_layout(Grid(dimension=1, ticker=yaxis.ticker))
lines_source = ColumnDataSource(data=dict(x=x, y=y2))
line = Line(x='x', y='y2', line_color="#666699", line_width=2)
plot.add_glyph(lines_source, line)
circle = Circle(
x='xii', y='yii', size=12,
fill_color="#cc6633", line_color="#cc6633", fill_alpha=0.5
)
plot.add_glyph(circles_source, circle)
II = plot
#playing around ends here
#II = make_plot('II', 'xii', 'yii')
III = make_plot('III', 'xiii', 'yiii')
IV = make_plot('IV', 'xiv', 'yiv')
grid = gridplot([[I, II], [III, IV]], toolbar_location=None)
div = Div(text="""
<h1>Anscombe's Quartet</h1>
<p>Anscombe's quartet is a collection of four small datasets that have nearly
identical simple descriptive statistics (mean, variance, correlation, and linear
regression lines), yet appear very different when graphed.
</p>
""")
doc = Document()
doc.add_root(column(div, grid, sizing_mode="scale_width"))
if __name__ == "__main__":
doc.validate()
filename = "anscombe.html"
with open(filename, "w") as f:
f.write(file_html(doc, INLINE, "Anscombe's Quartet"))
print("Wrote %s" % filename)
view(filename)
ERROR:bokeh.core.validation.check:E-1001 (BAD_COLUMN_NAME): Glyph refers to nonexistent column name. This could either be due to a misspelling or typo, or due to an expected column being missing. : key "y" value "y2" (closest match: "y") [renderer: GlyphRenderer(id='14758', ...)]
ERROR:bokeh.core.validation.check:E-1001 (BAD_COLUMN_NAME): Glyph refers to nonexistent column name. This could either be due to a misspelling or typo, or due to an expected column being missing. : key "y" value "y2" (closest match: "y") [renderer: GlyphRenderer(id='14758', ...)]
如果知道有帮助的话:我尝试用“y”替换“y2”,并且脚本运行没有错误,但右上角的图是空白的。
这个错误看起来很容易修复,但我无法解决它。
最佳答案
设置为'y'
是正确的做法。传递到字形的名称映射到数据源中的列名称,并且数据源中没有“y2”列。绘图为空白的原因是您的 x 坐标超出了您设置的显式视口(viewport)范围:
(base) ❯ python test.py
min x = 176.0, max x = 184.0
Wrote anscombe.html
相比之下,您设置的绘图的 x 范围是从 x2dr.start = -0.12
到 x2dr.end = 0.12
。因此,所有数据都离屏幕很远。您可以调整绘图边界或调整 x 坐标。我不知道什么适合您的用例,所以我无法就此事提供建议。
作为一个温和有用的提示,出现问题时快速查看数据几乎总是一个好主意。添加一条打印语句来显示 x 最大/最小值立即发现了该问题。
关于python - (BAD_COLUMN_NAME) : Glyph refers to nonexistent column name, Bokeh ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57390435/
这正确地呈现了标题,因为我可以看到一个列带有“Product ID”标题的表:。我正试图重构它,这样我就可以重用它,因为它们在整个应用程序中几乎是相同的:。在这种情况下,头不会呈现...检查页面元素中
我什至不知道如何表达这一点,但在 Python 中有没有一种方法可以引用等号之前的文本,而无需实际再次编写? ** 编辑 - 我在 Jupyter 中使用 python3 我似乎用了半辈子的时间来写作
假设我有一个包含以下列的字典 dict_ = [ {'key1': 'value1', 'key2': 'value2', 'key3': 'value3', '
假设我有一个包含以下列的字典 dict_ = [ {'key1': 'value1', 'key2': 'value2', 'key3': 'value3', '
假设我的数据库中有一张地铁 map ,其中每条线路的每个站点都是一行。如果我想知道我的线路在哪里互连: mysql> SELECT LineA.stop_id FROM LineA, LineB WH
代码 select c1,c2,c3,c4,c5,c6 from table where c5 in ('a', 'b') 从这里开始,我想将 c5 列拆分为两列,然后根据它们对 c
我正在尝试搜索表格中的两列,即标题和描述。但我想先搜索标题,然后再搜索描述。所以匹配标题的所有行排在第一位,所有匹配描述的行排在第二位 我可以使用单个 SQL 查询来实现吗? 最佳答案 您还可以使用
下面有以下 Python 数据框。 “标志”字段是我想要用代码创建的所需列。 我想要执行以下操作: 如果“分配类型”是预测的并且“Activities_Counter”大于 10,我想创建一个名为“F
我有两列,area 和 block,其中 area 是一个 int 类型,block 是一个 varchar。 现在我正在写两个查询: select * from table where area a
使用 Slick 2,我试图生成一个带有元组 IN 子句的查询: select * from my_table where (a, b) IN ((1, 87)); 给定: val seq: Seq[
我正在尝试从数据透视表中获取一组值,其中 A 列等于值数组,例如 ID 12 的 attribute_value_id 等于 3 和 9。这可以做到吗?我已经走了这么远... ID | post_id
我找不到这样做的有效方法。我在 Python 中有以下 DataFrame,列从 A 到 Z A B C ... Z 0 2.0 8.0 1.0 ... 5.0 1
我的数据框中有以下格式的数据: >>> df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD')) >>> df
我有多个与我公司销售的产品相关的表被新产品取代,随着时间的推移,这导致了多个表的出现。 我一遍又一遍地使用以下查询,直到最终表中只剩下 2 个产品... CREATE TABLE mar15a
我有如下 2 个表:- 表A ------------------------------- | product_id | price | --------------------
我有一个名为 tbl_mainsheet7 的表,创建方式如下: pk_mainsheet client_id project_id mainsheet_id project_cat EA_
我得到了以下 HTML 结构: ... ... 我的 CSS: #main-container { width:80%; margin:20px auto;
对于我的以下要求,我无法获得解决方案。 如果 data.table(如下)在 Col1 和 Col3 中有匹配的值。替换 Col2 值(旧的 New-Val)。 Col1 Col2 Col3
我正在通过连接几个表来构建一个 View ,以通过 Entity Framework 提取数据。由于此 View 没有唯一列,EntityFramework 无法检索正确的结果集(即第一列重复)。 为
好的,我已经尝试了太久了,是时候寻求帮助了。我有一个看起来有点像这样的数据框: person fruit quantity all_fruits 0 p1 grapes 2
我是一名优秀的程序员,十分优秀!