通过省略行来绘制数据点 Python Pandas

sul*_*hur 7 python matplotlib pandas

如何使用 Python Python/matplotlib 省略行来仅绘制数据点。

这是到目前为止我的示例代码:

  import matplotlib.pyplot as plt
  import pandas as pd

  df = pd.DataFrame({'x': [1,2,-3,3,5,7,-1],
                   'y' : [2.6,3.4,3.25,2.8,1.75,1.34,-3.345]})
  df.plot(x='x', y='y')
  plt.grid(True)
  plt.show()
Run Code Online (Sandbox Code Playgroud)

所有有用的评论都会被采纳。

到目前为止我尝试过

df.plot.scatter(x='x', y='y')
Run Code Online (Sandbox Code Playgroud)

但对于我的实际应用程序,似乎存在问题,这就是为什么我想知道是否存在另一种方法来绘制数据点。

正如有人指出的那样,我应该就这个问题说些什么。所以我使用 df = pd.read_csv(...) 来获取我的数据。由于某种原因 df.plot.scatter (...) 不起作用。我总是收到“不在索引中”错误。因此,当我尝试此处提到的任何解决方案时,我没有遇到相同的问题。坦白说,我不知道为什么会出现问题。尽管如此,我还是不想提这个问题。

小智 14

您可以在 中使用参数marker和。您可以尝试使用标记,但如果您想省略线条,这里至关重要。linestyleplt.plotlinestyle='none'

plt.plot(df.x, df.y, marker='.', linestyle='none')
Run Code Online (Sandbox Code Playgroud)


Sco*_*ton 3

用作kind='scatter'pandas 图中的参数,如下面的代码所示:

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({'x': [1,2,-3,3,5,7,-1],
                   'y' : [2.6,3.4,3.25,2.8,1.75,1.34,-3.345]})
df.plot(x='x', y='y', kind='scatter')
plt.grid(True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述