我想绘制两个值x = [0, 10,20,50,100]
and y=[1,2,3,10,100]
使用pylab。我想将 x 轴的间距保持为对数形式。但我想在 x i'e 的值 10、20、50、100 处勾选并打印它们,因为它不是 10e1 或 10e2 的形式。我这样做如下:
import matplotlib.pylab as plt
plt.xscale('log')
plt.plot(x, y)
plt.xticks(x)
plt.grid()
但它保持值的形式为 10e1, 10e2。
你能帮我一下吗?
我认为你想要的是改变major_formatter
x 轴?
import matplotlib.pylab as plt
import numpy as np
from matplotlib.ticker import ScalarFormatter
x = [0, 10,20,50,100]
y=[1,2,3,10,100]
plt.plot(x, y)
plt.xscale('log')
plt.grid()
ax = plt.gca()
ax.set_xticks(x[1:]) # note that with a log axis, you can't have x = 0 so that value isn't plotted.
ax.xaxis.set_major_formatter(ScalarFormatter())
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)