在Python Bokeh中反转轴

3

我正在尝试在Bokeh散点图中反转y轴并设置x和y的范围。我正在使用:

BokehPlot.bokeh_scatter(data=df, x_range=(min_utc, max_utc), y_range=(min_val, max_val))

我收到一个错误信息:
TypeError: bokeh_scatter() got an unexpected keyword argument 'x_range'

有没有想过如何在使用Pandas DataFrame作为输入的Bokeh散点图中反转坐标轴?

1
Bokeh库中没有bokeh_scatter函数。您是否在Bokeh周围使用某些包装库?请提供更多信息和更完整的代码。 - bigreddot
现在我感觉很蠢,我正在调用自己的一个类和方法... 我甚至已经有了在方法中设置范围的代码。我会自己回答这个问题。 - Don Smythe
这种情况发生在每个人身上 :) - bigreddot
2个回答

7
如果您没有在坐标轴上设置显式边界,它的范围将是一个DataRange1d,边界将根据您绘制的内容自动计算。在这种情况下,设置范围的flipped属性将翻转它,而不需要您设置显式边界:
from bokeh.plotting import figure, show
fig = figure()
# Do some plotting calls with fig...
fig.y_range.flipped = True
show(fig)

如果您想设置显式边界,请参见这个问题的另一个答案。正如Don Smythe的答案所提到的那样,您可以按相反的顺序设置边界以反转任何轴类型。


5
以下是散点图y轴翻转的代码。
p = figure()

xmin = data[xval].min()
xmax = data[xval].max()
ymin = data[yval].min()
ymax = data[yval].max()

# Note that ymin and ymax are in reverse order in y_range.
p.scatter(xval, yval, x_range=(xmin, xmax), y_range=(ymax, ymin))
show(p) 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接