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应从角落开始。我该怎么做呢。另外,如何设置所有主要和次要刻度都显示在内部而不是外部
答案 0 :(得分:2)
使用plt.margins(x=0)
。这会将绘制点之外的边距设置为零。
要设置刻度线的方向,最好使用rcParams xtick.direction
和ytick.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()