在pyplot中绘制y值很容易,给定y_values = [0, 1, 4, 9]
列表,pyplot会自动绘制
plt.plot(y_values)
plt.show()
由于pyplot使用[0,1,2,3]
自动枚举这些。但是,给定x_values
列表,有没有办法在不提供y值的情况下自动绘制这些值?例如让pyplot自动枚举它们吗?
我试过
plt.plot(x=x_values); plt.plot(xdata=x_values)
然而,这些似乎都不起作用。当然,一种方法是翻转轴,但有一种我忽略的简单方法吗?
答案 0 :(得分:2)
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()