Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何定制蜱虫?_Python_Python 3.x_Matplotlib_Plot_Scientific Notation - Fatal编程技术网

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)
,现在它不再起作用了。顺便说一句,新的记号有一个小数点,我怎样才能去掉它。