2017-08-29 124 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