我刚刚开始使用Bokeh。下面我创建一些我用于rect figure的args。
x_length = var_results.index * 5.5
将指数乘以5.5可以让我在标签之间留出更多空间。
names = var_results.Feature.tolist()
y_length = var_results.Variance
y_center = var_results.Variance/2
var_results
是一个Pandas数据帧,具有典型的,顺序的,非重复索引。 var_results
还有一个列Features
,它是非重复名称的字符串,最后它有一个列Variance
,它是dtype float。
r = figure(x_range = names,
y_range = (-0.05,.3),
active_scroll = 'wheel_zoom',
x_axis_label = 'Features',
y_axis_label = 'Variance')
r.rect(x_length,
y_center,
width=1,
height=y_length,
color = "#ff1200")
output_notebook()
show(r)
我基本上制作了一个带有矩形的条形图。 Bokeh似乎非常可定制。但是我的图表在边缘看起来粗糙,字面意思。
正如您所看到的,图表下方和X轴标题'功能'上面有一个丑陋的污迹。这是标签标题(技术上是矩形标题)。如何为标签创建空间并将其旋转到45度,以便它们可读,而不仅仅是重叠的混乱?
答案 0 :(得分:23)
为了旋转标签,例如在左侧90度处,您可以将major_label_orientation
设置为π/ 2。这可以在创建轴元素时完成(如果使用低级绘图,则作为轴构造函数的kwarg),也可以在创建绘图/图形后完成,例如:
p.xaxis.major_label_orientation = math.pi/2
另见文档中的this example。
答案 1 :(得分:6)
作为轮换的替代方案,您set the orientation to a fixed value:
p.xaxis.major_label_orientation = "vertical"
也应该做你想做的事。