Python 如何定制蜱虫?
我在下面做了一个对数比例图 如何在没有科学符号的情况下显示规则的刻度 如何使用不同的格式组合自定义刻度Python 如何定制蜱虫?,python,python-3.x,matplotlib,plot,scientific-notation,Python,Python 3.x,Matplotlib,Plot,Scientific Notation,我在下面做了一个对数比例图 如何在没有科学符号的情况下显示规则的刻度 如何使用不同的格式组合自定义刻度 plt.plot(np.arange(1000)) plt.xscale('log') plt.yscale('log') plt.ylim(1,10) plt.show() 因为你说你已经试过了,但没有成功,我怀疑这是因为你在将比例设置为日志之前调用了ax.yaxis.set\u major\u formatter。如果这样做,当您说plt.xscale('log')和plt.yscale
plt.plot(np.arange(1000))
plt.xscale('log')
plt.yscale('log')
plt.ylim(1,10)
plt.show()
因为你说你已经试过了,但没有成功,我怀疑这是因为你在将
比例设置为日志之前调用了ax.yaxis.set\u major\u formatter
。如果这样做,当您说plt.xscale('log')
和plt.yscale('log')
时,它会重置x轴和y轴
如果您在之后调用它,它将起作用:
import matplotlib as mpl
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
plt.plot(np.arange(1000))
plt.xscale('log')
plt.yscale('log')
ax.yaxis.set_major_formatter(mpl.ticker.ScalarFormatter())
ax.xaxis.set_major_formatter(mpl.ticker.ScalarFormatter())
plt.show()
谢谢。我必须使用ax=fig.add_子批(1,1,1)
?我可以直接使用plt
吗?如果您想了解,可以使用plt.gca().yaxis.set\u major\u格式化程序(mpl.ticker.ScalarFormatter())
和plt.gca().xaxis.set\u major\u格式化程序(mpl.ticker.ScalarFormatter())
。使用fig=plt.figure()
和ax=fig.add_子批(1,1,1)
的目的是什么?为了使代码整洁,为什么不直接使用plt
?这只是一种显式创建轴对象的方法,有时可以更容易地引用实际轴。谢谢。我重新编辑了这个问题并添加了plt.ylim(1,10)
,现在它不再起作用了。顺便说一句,新的记号有一个小数点,我怎样才能去掉它。