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)
用作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)
输出: