2017-09-27 92 views
1

我想要定義一個matplotlib樣式文件(.mplstyle)以僅顯示水平網格線。我知道我可以用python做它Python Matplotlib樣式文件:僅顯示水平網格線

fig, ax = plt.subplots() 
ax.yaxis.grid(True) 

但我想在mplstyle文件中做到這一點。 classic.mplstyle文件具有選項axes.grid.axis: both集。我試圖改變這axes.grid.axis: y,但這似乎並沒有改變任何東西。

是否可以在樣式文件中做到這一點?

編輯:

在得到這個工作的嘗試:

%matplotlib inline 
import pandas as pd 
import matplotlib.pyplot as plt 
month = ['Jan', 'Feb', 'Mar', 'Apr'] 
volume = [1, 2, 3, 4] 
plt.style.use('https://gist.githubusercontent.com/luisdelatorre012/b36899e6dca07d05e73aca80eceb3098/raw/43ae73605b5e33dfc3f0d7e5d423ff997fc8325c/tiny.mplstyle') 
d = pd.DataFrame({'Month': month, 'Volume': volume}) 
fig, ax = plt.subplots() 
b = d.plot(kind='bar', y="Volume", x="Month", ax=ax) 
plt.title('Title') 
plt.show() 

文件tiny.mplstyle包含

axes.grid.axis: y 
axes.grid: True 

,別無其他。

這是結果:

gridlines

+0

你重新啓動Matplotlib? – Joe

+0

@Joe,我在jupyter筆記本中測試了這個,並在重新運行之前重新啓動內核,以便多個matplotlib樣式文件不會一起應用。這是你指的是什麼? – AnonymousCowherd

回答

1

您需要打開網格上爲好,

import matplotlib.pyplot as plt 
plt.rcParams["axes.grid.axis"] ="y" 
plt.rcParams["axes.grid"] = True 

或matplotlibrc文件:

axes.grid.axis : y 
axes.grid : True 
+0

謝謝。到目前爲止,我已經嘗試過兩件事情,兩者都會顯示水平和垂直線條。 1)使用一個.mplstyle文件,其中只包含行的座標軸.g.g.axis:y和axes.grid:True,將axes.grid.axis更改爲y,並將axes.grid更改爲ggplot.mplstyle中的True 。 – AnonymousCowherd

+0

您使用的是哪個版本的matplotlib? – ImportanceOfBeingErnest

+0

matplotlib 2.0.2 – AnonymousCowherd