Python 删除轴网线,但保留框架(matplotlib中的ggplot2样式)

Python 删除轴网线,但保留框架(matplotlib中的ggplot2样式),python,matplotlib,Python,Matplotlib,使用Matplotlib,我希望删除绘图内的网格线,同时保留框架(即轴线)。我已经尝试了下面的代码和其他选项,但我无法让它工作。移除网格线时,如何简单地保留框架 我这样做是为了在matplotlib中复制ggplot2绘图。我在下面创建了一个MWE。请注意,要使用ggplot2样式,需要相对较新的matplotlib版本 好的,我想这就是你要问的(但如果我误解了,请纠正我): 你需要改变衣服的颜色。您需要使用以下方法分别对每个脊椎执行此操作: 有关使用脊椎的更多信息,请参见和 但是,如果您删

使用Matplotlib,我希望删除绘图内的网格线,同时保留框架(即轴线)。我已经尝试了下面的代码和其他选项,但我无法让它工作。移除网格线时,如何简单地保留框架

我这样做是为了在matplotlib中复制ggplot2绘图。我在下面创建了一个MWE。请注意,要使用ggplot2样式,需要相对较新的matplotlib版本


好的,我想这就是你要问的(但如果我误解了,请纠正我):

你需要改变衣服的颜色。您需要使用以下方法分别对每个
脊椎
执行此操作:

有关使用
脊椎的更多信息,请参见和

但是,如果您删除了灰色背景和网格线,并添加了刺,这实际上不再是
ggplot
样式中的内容;这真的是你想要的风格吗

编辑

要使直方图条的边缘接触帧,您需要:

  • 更改装箱,使装箱边变为0和1

    n,bins,patches = plt.hist(values, bins=np.linspace(0,1,21), weights=weights)
    # Check, by printing bins:
    print bins[0], bins[-1]
    # 0.0, 1.0
    

  • 如果您真的想让箱子在
    values.min()
    values.max()
    之间运行,则需要将打印限制更改为不再为0和1:

    n,bins,patches = plt.hist(values, bins=20, weights=weights)
    ax.set_xlim(bins[0],bins[-1])
    

  • ax1.grid(False)
    适合我。你能粘贴一个不起作用的代码示例吗?
    ggplot
    看起来与你的示例完全不同。而且看起来根本没有边框(只有灰色背景)。删除网格线不会改变这一点。例如,请参见示例。没有一个有框架。如果您想复制上面的图像,我建议使用
    matplotlib的
    default样式,它更接近。使用ggplot2创建,这就是我从该样式开始的原因。看我更新的帖子。我想这比理解通过设置ggplot2样式所做的所有较小的更改都要容易。我真的不能确定样式,我需要它匹配ggplot2中相同的绘图,在那里他们删除了背景。看起来框架在边缘附近有点偏离?很公平。你能更具体地解释一下“边缘有点偏”是什么意思吗?当然。我很好奇为什么最左边的酒吧和边缘之间有空白。右边缘也是一样。我认为这是如何使
    历史记录的问题。您有20个箱子,在
    值的最小值和最大值之间。因此,如果
    values.min>0
    values.max<1
    ,则条的边缘不在0和1处。如果您改为设置
    bins=np.linspace(0,1,21)
    ,我将对Q进行编辑以显示差异。
    n,bins,patches = plt.hist(values, bins=np.linspace(0,1,21), weights=weights)
    # Check, by printing bins:
    print bins[0], bins[-1]
    # 0.0, 1.0
    
    n,bins,patches = plt.hist(values, bins=20, weights=weights)
    ax.set_xlim(bins[0],bins[-1])