python - Matplotlib 应从 x 轴上的 0 开始,并且主要和次要刻度应指向轴内部

标签 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 应该从角开始。我该怎么做呢。另外如何设置所有主要和次要刻度显示在内部而不是外部

最佳答案

使用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()

关于python - Matplotlib 应从 x 轴上的 0 开始,并且主要和次要刻度应指向轴内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42174948/

相关文章:

python - 通过从 3D 数组中采样和分桶来创建热图

python - 新版本的 MinMaxScaler 不再接受最大值和最小值的范围

python - Growl Python 与点击反馈绑定(bind)?

python - 将除第一列和最后一列之外的所有列加倍

python - 传递文件对象而不是文件名的开销?

python - 在 nltk 中使用 scikit-learn 分类器,多类案例

python - 在 scikit-learn SVM 中缩放数据

python - 计算一系列的总和?

python - Matplotlib:如何在 3D 中高效地绘制大量线段?

python - 如何在 seaborn 因子图中使用加权平均估计器(包括自举)?