通过省略Python熊猫线来绘制数据点

时间:2018-08-02 12:45:42

标签: python pandas matplotlib

如何通过使用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()

所有有用的评论均已注明。

到目前为止,我尝试过

df.plot.scatter(x='x', y='y')

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

正如某人指出的,我应该谈谈这个问题。所以我用df = pd.read_csv(...)来获取我的数据。并且由于某些原因df.plot.scatter(...)无法正常工作。我总是收到“不在索引中”错误。因此,当我尝试这里提到的任何解决方案时,都没有遇到相同的问题。 坦率地说,我不知道为什么首先存在问题。尽管如此,我还是想至少提这个问题。

3 个答案:

答案 0 :(得分:1)

您可以在marker中使用参数linestyleplt.plot。您可以尝试使用标记,但是如果要省略行,linestyle='none'在这里至关重要。

plt.plot(df.x, df.y, marker='.', linestyle='none')

答案 1 :(得分:1)

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

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

输出:

enter image description here

答案 2 :(得分:0)

或替换最后三行

df.plot(x='x', y='y')
plt.grid(True)
plt.show()

作者:

plt.scatter(x=df.x.tolist(), y=df.y.tolist())
plt.grid(True)
plt.show()