散景 - 绘制顶部和右侧轴
Bokeh - draw top and right axes
我认为这非常直截了当,但我找不到答案。我正在尝试绘制顶部和右侧轴的散景散点图。我想要这样的东西(使用 gnuplot
生成):
这是我的简单 bokeh
代码:
from bokeh.plotting import figure, output_file, show
output_file("test.html")
p = figure()
p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None
p.axis.major_tick_in = 10
p.axis.major_tick_out = 0
p.axis.minor_tick_in = 5
p.axis.minor_tick_out = 0
p.line([-10,10], [-10,10])
show(p)
导致:
所以我希望能够镜像 left/right 和 top/bottom 轴。我试过在 bokeh
中使用 LinearAxis()
但没有成功。通过添加以下行:
p.add_layout(LinearAxis(), 'right')
p.add_layout(LinearAxis(), 'above')
我接近了,但还没有完全达到:
我没有找到删除 top/right 上的数字并且里面还有刻度线的方法。任何帮助表示赞赏。提前致谢!
更新
我能够根据接受的答案获得所需的布局:
from bokeh.plotting import figure, output_file, show
output_file("test.html")
p = figure()
p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None
p.axis.major_tick_in = 10
p.axis.major_tick_out = 0
p.axis.minor_tick_in = 5
p.axis.minor_tick_out = 0
p.add_layout(LinearAxis(major_label_text_alpha=0,
minor_tick_in=5,minor_tick_out=0,
major_tick_in=10,major_tick_out=0),'right')
p.add_layout(LinearAxis(major_label_text_alpha=0,
minor_tick_in=5,minor_tick_out=0,
major_tick_in=10,major_tick_out=0),'above')
p.line([-10,10], [-10,10])
show(p)
您可以在创建 Axis 对象时指定刻度线的文本属性:
p.add_layout(
LinearAxis(
major_label_text_alpha=0
),
'right'
)
以下是相关文档:
https://docs.bokeh.org/en/latest/docs/reference/models/axes.html
我认为这非常直截了当,但我找不到答案。我正在尝试绘制顶部和右侧轴的散景散点图。我想要这样的东西(使用 gnuplot
生成):
这是我的简单 bokeh
代码:
from bokeh.plotting import figure, output_file, show
output_file("test.html")
p = figure()
p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None
p.axis.major_tick_in = 10
p.axis.major_tick_out = 0
p.axis.minor_tick_in = 5
p.axis.minor_tick_out = 0
p.line([-10,10], [-10,10])
show(p)
导致:
所以我希望能够镜像 left/right 和 top/bottom 轴。我试过在 bokeh
中使用 LinearAxis()
但没有成功。通过添加以下行:
p.add_layout(LinearAxis(), 'right')
p.add_layout(LinearAxis(), 'above')
我接近了,但还没有完全达到:
我没有找到删除 top/right 上的数字并且里面还有刻度线的方法。任何帮助表示赞赏。提前致谢!
更新
我能够根据接受的答案获得所需的布局:
from bokeh.plotting import figure, output_file, show
output_file("test.html")
p = figure()
p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None
p.axis.major_tick_in = 10
p.axis.major_tick_out = 0
p.axis.minor_tick_in = 5
p.axis.minor_tick_out = 0
p.add_layout(LinearAxis(major_label_text_alpha=0,
minor_tick_in=5,minor_tick_out=0,
major_tick_in=10,major_tick_out=0),'right')
p.add_layout(LinearAxis(major_label_text_alpha=0,
minor_tick_in=5,minor_tick_out=0,
major_tick_in=10,major_tick_out=0),'above')
p.line([-10,10], [-10,10])
show(p)
您可以在创建 Axis 对象时指定刻度线的文本属性:
p.add_layout(
LinearAxis(
major_label_text_alpha=0
),
'right'
)
以下是相关文档: https://docs.bokeh.org/en/latest/docs/reference/models/axes.html