python/matplotlib x轴上的boxplot

2024-05-29 11:40:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据集是一个包含6个数字的列表:[23948.30, 23946.20, 23961.20, 23971.70, 23956.30, 23987.30]

我希望它们在一个水平的方框图中,在x轴上画线,23855和{}作为x轴的限制,所以框图将在这条线的中间。如果不能做到这一点,至少要在它下面显示x轴,并且非常接近方框图。在

我也希望方框图显示平均数。在

现在我只能得到水平方框图,我还希望x轴显示整数,而不是“xx+2.394e”。在

下面是我的代码:

def box_plot(circ_list, wear_limit):
    print circ_list
    print wear_limit

    fig1 = plt.figure()
    plt.boxplot(circ_list, 0, 'rs', 0)
    plt.show()

Tags: 数据列表水平plt数字listlimitprint
1条回答
网友
1楼 · 发布于 2024-05-29 11:40:49

我不确定我是否理解了您帖子中的所有内容,但以下是我对您代码的更正:

l = [23948.30, 23946.20, 23961.20, 23971.70, 23956.30, 23987.30]

def box_plot(circ_list):
    fig, ax = plt.subplots()
    plt.boxplot(circ_list, 0, 'rs', 0, showmeans=True)
    plt.ylim((0.75, 1.25))
    ax.set_yticks([])
    labels = ["{}".format(int(i)) for i in ax.get_xticks()]
    ax.set_xticklabels(labels)
    plt.show()

box_plot(l)

结果是:

Your box-plot

现在要了解您的请求细分以及代码如何与它们对应:

  • 显示平均值:这是在plt.box图功能。在
  • 绘制靠近x轴的水平框图。默认情况下,boxplot是在y=1处绘制的,所以我使用plt.ylim()重新缩放了y轴在0.75和1.25之间的范围。如果您想绘制更靠近x轴的框线图(例如,将0.75更改为0.9),或将图的顶部从框线图绘制得更远(例如,将1.25更改为1.5),可以调整这些数字。我还消除了yticks,使用plt.set_ticks([])使绘图更干净。在
  • 以整数形式显示x记号标签。我只需将xtick的每个标签转换为一个整数,然后使用ax.set_xticklabels()函数将其应用回来。在

一定要让我知道它是否符合您所寻找的,是否符合您的快乐matplotlib;)。在

相关问题 更多 >

    热门问题