【问题标题】:formatting x-axis labels with two y-axis in matplotlib (bar and line plot)在 matplotlib 中用两个 y 轴格式化 x 轴标签(条形图和线图)
【发布时间】:2012-11-12 17:40:02
【问题描述】:

我在一个图中绘制了条形图和线图,并且在正确格式化共享 x 轴刻度标签时遇到了问题。线上的点与绘制刻度标签的条形中心不同步。

PS:我是通过pandas plot函数来绘图的

例子:

A.单条图(工作正常)

libs_summary_pandas_df[['read_count']].plot(kind='bar',ax=axis,color=['#E41A1C'])

B.在次要 y 轴上用线图叠加(x 轴标签搞砸了

libs_summary_pandas_df.total_yield.map(lambda x: x/1000000000.0).plot(kind='line',ax=axis)

谢谢! -阿比

【问题讨论】:

  • 在黑暗中拍摄:如果您以相反的顺序进行绘图调用会发生什么?另外,您能否发布一个生成一些数据并演示此行为的独立示例?

标签: python matplotlib pandas


【解决方案1】:

matplotlib's bar documentation 所述,内部使用 py pandas.plot :

对齐“边缘”(默认)| ‘中心’

对于垂直条,align = ‘edge’ 将条的左边缘对齐到左侧,而 align = ‘center’ 将这些值解释为条中心的 x 坐标。

所以添加尝试将关键字 align ='center' 添加到您的第一个绘图调用中,这可能会对齐您的 x 轴。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 2015-12-26
    • 1970-01-01
    相关资源
    最近更新 更多