Python 删除轴网线,但保留框架(matplotlib中的ggplot2样式)
使用Matplotlib,我希望删除绘图内的网格线,同时保留框架(即轴线)。我已经尝试了下面的代码和其他选项,但我无法让它工作。移除网格线时,如何简单地保留框架 我这样做是为了在matplotlib中复制ggplot2绘图。我在下面创建了一个MWE。请注意,要使用ggplot2样式,需要相对较新的matplotlib版本Python 删除轴网线,但保留框架(matplotlib中的ggplot2样式),python,matplotlib,Python,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])