Matplotlib应该从x轴上的0开始,主要和次要刻度应指向轴内

时间:2017-02-11 10:47:06

标签: python matplotlib scikit-learn

from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
from matplotlib.ticker import MultipleLocator
traindata = pd.read_csv("1.csv")
X = traindata.iloc[:,0]
X = np.array(X)
X = X*100
lr = list(range(0, 999))
lr = np.array(lr)
m = [0,10,20,30,40,50,60,70,80,90,100]
print(lr)
lr = np.array(lr)
plt.plot(lr,X,label='plot')
plt.legend(loc='best')
plt.xticks(np.arange(min(lr), max(lr)+11, 100.0))
plt.yticks(np.arange(min(m), max(m)+1, 10.0))
plt.minorticks_on()
plt.ylabel('acc')
plt.xlabel('iter')
plt.show()

在x轴上,0应从角落开始。我该怎么做呢。另外,如何设置所有主要和次要刻度都显示在内部而不是外部

1 个答案:

答案 0 :(得分:2)

使用plt.margins(x=0)。这会将绘制点之外的边距设置为零。

要设置刻度线的方向,最好使用rcParams xtick.directionytick.direction,这将设置完整脚本的方向。

import matplotlib.pyplot as plt
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'

plt.plot([2,1,3])

plt.minorticks_on()
plt.margins(x=0)

plt.show()