我想绘制一条roc曲线,我使用了以下代码:http://scikit-learn.org/stable/auto_examples/plot_roc.html.但是刻度标签0.0出现在两个轴上,我通过直接设置标签来删除了一个刻度标签:
pl.gca().set_yticks([0.2, 0.4, 0.6, 0.8, 1.0])
pl.gca().set_xticks([0.0, 0.2, 0.4, 0.6, 0.8, 1.0])
x轴的刻度标签“ 0.0”如何与y轴对齐?标签应移至y轴的左边界,使其开始于与y轴上其他刻度标签相同的垂直位置.
解决方法:
我认为您想修剪x轴:
#!/usr/bin/env python3
import matplotlib
from matplotlib import pyplot as plt
from matplotlib.ticker import MaxNLocator
data = range(5)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(data,data)
ax.xaxis.set_major_locator(MaxNLocator(5, prune='lower'))
ax.yaxis.set_major_locator(MaxNLocator(4))
fig.savefig("1.png")
编辑:
令人遗憾但真实的是:matplotlib不适用于交叉轴2D图.如果您确定两个轴的零都位于左下角,而不是我建议手动将其放在那里:
#!/usr/bin/env python3
import matplotlib
from matplotlib import pyplot as plt
from matplotlib.ticker import MaxNLocator
data = range(5)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(data,data)
ax.xaxis.set_major_locator(MaxNLocator(5, prune='lower'))
ax.yaxis.set_major_locator(MaxNLocator(4, prune='lower'))
fig.tight_layout()
ax.text(-0.01, -0.02,
"0",
horizontalalignment = 'center',
verticalalignment = 'center',
transform = ax.transAxes)
fig.savefig("1.png")
在这里,您可以手动调整零位.
我个人根据情况修剪x轴或y轴,对此感到满意.
标签:matplotlib,plot,python
来源: https://codeday.me/bug/20191029/1959458.html