【问题标题】:How to rotate X-axis labels in bokeh figure?如何在散景图中旋转 X 轴标签?
【发布时间】:2017-07-10 07:51:53
【问题描述】:

我刚刚开始使用 Bokeh。下面我创建了一些用于rect figure 的参数。

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)

我实际上是在制作一个带有矩形的条形图。散景似乎非常可定制。但是从字面上看,我的图表的边缘看起来很粗糙。

如您所见,图表下方和 x 轴标题“功能”上方有一个难看的污点。这是标签标题(技术上是矩形标题)。如何为标签创建空间并可能将其旋转 45 度,以便它们可读,而不仅仅是重叠的混乱?

【问题讨论】:

标签: python pandas bar-chart bokeh


【解决方案1】:

为了旋转标签,例如向左 90 度,您可以将major_label_orientation 设置为 π/2。这可以在创建轴元素时完成(如果您使用低级绘图,则作为轴构造函数的一个 kwarg)或在您创建绘图/图形之后完成,例如:

p.xaxis.major_label_orientation = math.pi/2

# or alternatively:
p.xaxis.major_label_orientation = "vertical"

另请参阅文档中的this example

【讨论】:

  • 奇怪的是,这似乎对我不起作用——它适用于文本标签吗?有人会认为所有标签都是文本,但这就是我能看到的所有区别我的情况。如果我不添加这条线,情节就会呈现。
【解决方案2】:

作为轮换的替代方案,你 set the orientation to a fixed value:

p.xaxis.major_label_orientation = "vertical"

也应该做你想做的事。

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 1970-01-01
    • 2014-07-30
    • 2020-11-30
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 2019-09-02
    相关资源
    最近更新 更多