我有这段代码:
import numpy as np
import pylab as plt
a = np.array([1,2,3,4,5,6,7,8,9,10])
b = np.exp(a)
plt.plot(a,b,'.')
plt.show()
代码工作正常,但我需要修改绘图的x轴标签。
我想根据a
轴输入,x轴标签是10的所有幂。对于示例代码,它将类似于[10 ^ 1,10 ^ 2,...,10 ^ 10]。
我很感激任何建议。
谢谢!
答案 0 :(得分:1)
import numpy as np
import pylab as plt
a = np.array([1,2,3,4,5,6,7,8,9,10])
# this is it, but better use floats like 10.0,
# a integer might not hold values that big
b = 10.0 ** a
plt.plot(a,b,'.')
plt.show()
答案 1 :(得分:1)
此代码可能就是您所需要的:
import numpy as np
import pylab as plt
a = np.asarray([1,2,3,4,5,6,7,8,9,10])
b = np.exp(a)
c = np.asarray([10**i for i in a])
print(list(zip(a,c)))
plt.xticks(a, c)
plt.plot(a,b,'.')
plt.show()
通过使用plt.xtick()
,您可以自定义绘图的x标签。我还将10^i
替换为10**i
。