【问题标题】:Plot x-values without y-values in pyplot在pyplot中绘制没有y值的x值
【发布时间】:2017-10-13 17:40:09
【问题描述】:

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

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

【问题讨论】:

  • 您当然可以使用numpy.arange()自己创建这些y值
  • @DavidG 是的,这当然可以,但可以合理地假设,如果我不必为y_values 这样做,我不应该为@ 这样做987654328@.

标签: python matplotlib plot


【解决方案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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2021-01-17
    • 2018-10-31
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多