在pyplot中绘制没有y值的x值

时间:2017-10-13 09:24:49

标签: python matplotlib plot

在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)

然而,这些似乎都不起作用。当然,一种方法是翻转轴,但有一种我忽略的简单方法吗?

1 个答案:

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