2017-10-13 121 views
0

在pyplot繪製y值是容易的,給定的y_values = [0, 1, 4, 9]列表,pyplot作爲pyplot使用[0,1,2,3]自動列舉這些自動繪製此使用劇情x值不y值在pyplot

plt.plot(y_values) 
plt.show() 

。但是,給出一個x_values的列表,有沒有辦法自動繪製這些而不提供y值?例如讓pyplot自動枚舉它們?

我已經試過

plt.plot(x=x_values); plt.plot(xdata=x_values) 

然而這些都不似乎工作。當然,其中一種方法是翻轉座標軸,但是我忽略了一種更簡單的方法嗎?

+1

你可以,當然,創建這些ÿ使用'numpy.arange()' – DavidG

+0

@DavidG重視自己是的,這當然會起作用,但假設如果我不必爲'y_values'做這件事,我不應該爲'x_values'做這件事。 –

回答

1

pyplot.plot(*args, **kwargs)中的x和y參數是位置參數。根據文件,例如

plot(x, y)  # plot x and y using default line style and color 
plot(x, y, 'bo') # plot x and y using blue circle markers 
plot(y)   # plot y using x as index array 0..N-1 

現在,怎麼會pyplot知道,如果你指定一個參數,你會希望它被解釋爲縱座標,而不是協調?函數寫入的方式根本不可能。

暗算一些列表索引一種解決方案是提供折射率爲y參數:

import matplotlib.pyplot as plt 
x_values = [0, 1, 4, 9] 
plt.plot(x_values, range(len(x_values))) 
plt.show()