我正在尝试使用matplotlib绘制图形,并试图删除图形所有侧面的刻度线。我尝试使用ax.tick_params()函数并将所有args设置为“ off”,但我的绘图仍显示它们。请告知。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('women bachelors.csv')
df.head()
fig, ax = plt.subplots()
ax.plot(df.Year,df.Biology, c = 'blue', label = 'Women')
ax.plot(df.Year, (100 - df.Biology), c = 'green', label = "Men")
ax.tick_params(bottom = 'off', left = 'off', right = 'off', top = 'off') # This isnt working for some reason. #LOOKINTOIT
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.set_title("Percentage of Biology Degrees Awarded By Gender")
ax.legend(loc = 'upper right')
plt.show()
运行此代码删除了所有的刺,但是您可以看到它仍然保留了滴答声。我正在尝试通过减少图表垃圾来提高情节美学。任何帮助都将不胜感激。
谢谢。
答案 0 :(得分:2)
您还需要添加要删除刻度线的轴。
plt.tick_params(axis='both',which='both',bottom=False,left=False,top=False)
您可以找到有关api的更多参考:https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.axes.Axes.tick_params.html
答案 1 :(得分:0)
plt.tick_params(top='off', bottom='off', left='off', right='off',
labelleft='off', labelbottom='off ')
我想这样做。