2017-08-29 144 views
-2

我有这样的代码:如何更改Python绘图中的x轴标签?

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

一旦你从a创建了b,不要给出一个作为参数给plot()而不是另一个数组c,它包含你寻求的10的幂 – ted

+0

我试试这个'c = np.array([10^i因为我在a]中''但我没有看到10^1和其他人 –

回答

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

可能这个代码是你所需要的:

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