【问题标题】:Matplotlib boxplot and lineplot in one Graph - on labels with corresponding x-axisMatplotlib 箱线图和线图在一个图中 - 在带有相应 x 轴的标签上
【发布时间】:2021-03-07 07:51:08
【问题描述】:

在 matplotlib 中,我想在基于相同标签的同一图中绘制箱线图和线图 (通常在熊猫df 的索引上,但为简单起见,以下代码)

import matplotlib.pyplot as plt

# data
box_data = {'a': [1,10], 'b': [2,12], 'c': [3,13]}
line_data = {'a':1, 'b':2 , 'c':3}
labels = ['x1', 'x2', 'x3']

fig, axes = plt.subplots(figsize=(9, 4), sharex=True)

bplot1 = axes.boxplot(box_data.values(), labels=labels)
line_plot = axes.plot( list(line_data.values()) )

plt.show()
plt.close('all')

【问题讨论】:

  • 你应该创建一个能反映你真实情况的玩具熊猫df。否则,我们只会解决可能无法转移到您的原始问题的伪问题。
  • 我总是将部分主代码尽可能简单地取出 - test.py - 以测试我做错了什么......并以此为基础。因为我想“理解”我做错了什么{这里是 0 位置到 1 位置}。不是在寻找我的代码的快速修复。 (感谢您的文字/语言编辑)

标签: python pandas matplotlib boxplot line-plot


【解决方案1】:

看起来boxplot 命令标签从1 开始,而plot 标签从0 开始。你可以试试:

bplot1 = axes.boxplot(box_data.values(), labels=labels)
ticks = axes.get_xticks()
line_plot = axes.plot(ticks, list(line_data.values()) )

输出:

【讨论】:

    猜你喜欢
    • 2016-06-22
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多