使用Matplotlib我想刪除圖中的網格線,同時保留幀(即軸線)。我已經嘗試了下面的代碼和其他選項,但是我無法使其工作。如何在移除網格線時簡單地保留框架?刪除網格線,但保持幀(matplotlib中的ggplot2樣式)
我這樣做是爲了在matplotlib中重現一個ggplot2圖。我已經創建了一個MWE。請注意,你需要一個相對較新版本的matplotlib來使用ggplot2風格。
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pylab as P
import numpy as np
if __name__ == '__main__':
values = np.random.uniform(size=20)
plt.style.use('ggplot')
fig = plt.figure()
_, ax1 = P.subplots()
weights = np.ones_like(values)/len(values)
plt.hist(values, bins=20, weights=weights)
ax1.set_xlabel('Value')
ax1.set_ylabel('Probability')
ax1.grid(b=False)
#ax1.yaxis.grid(False)
#ax1.xaxis.grid(False)
ax1.set_axis_bgcolor('white')
ax1.set_xlim([0,1])
P.savefig('hist.pdf', bbox_inches='tight')
'AX1。網格(假)'適用於我。你可以粘貼一個它不工作的代碼示例嗎? – kikocorreoso
'ggplot'雖然看起來不像你的例子。並沒有出現任何框架(只是一個灰色的背景)。刪除網格線不會改變這一點。例如,請參閱示例[here](http://matplotlib.org/1.5.0/examples/style_sheets/plot_ggplot.html)。他們都沒有框架。如果你想重現上面的圖片,我會推薦'matplotlib's'的默認樣式,它更接近。 – tom
我想重現一個即。使用ggplot2創建,這就是我從這種風格開始的原因。看到我更新的帖子。 – pir