如何更改Python图中的x轴标签?

时间:2017-08-29 13:17:37

标签: python matplotlib

我有这段代码:

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]。

我很感激任何建议。

谢谢!

2 个答案:

答案 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