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 应该从角开始。我该怎么做呢。另外如何设置所有主要和次要刻度显示在内部而不是外部
最佳答案
使用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()
关于python - Matplotlib 应从 x 轴上的 0 开始,并且主要和次要刻度应指向轴内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42174948/