python - 如何消除使用 pandas 和 matplotlib 运行脚本时出现的对角线?
问题描述
我遇到过这种类似的情况:matplotlib plot 显示了一条不必要的对角线 ,但是它对我没有帮助,因为我是从 csv 文件而不是数据数组生成我的图。这是我的代码:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv(r"C:\Users\HP\OneDrive\Desktop\MPGES-1\Computational_work\MD\rmsd-yeni-utf-modifiye.csv", sep=";")
df.plot(kind="line", color="red", title="rmsd", xlabel="time", ylabel="freq")
plt.plot(df)
plt.show()
我附上 csv 文件开头的图表和屏幕截图。
很快,我只想消除图中看到的对角线,因为图表的其余部分似乎很好。
谢谢,
解决方案
Pandasread_csv
从您的 csv 文件中推断出标题行,并且在您的示例中错误地绘制了 x/y 列。
由于您的 csv 文件没有标题行,您可以使用names
下面的设置在导入期间定义一个并使用列名来绘制x='time', y='freq'
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv(r"C:\Users\HP\OneDrive\Desktop\MPGES-1\Computational_work\MD\rmsd-yeni-utf-modifiye.csv", sep=";", names=['time', 'freq'])
df.plot(kind="line", color="red", title="rmsd", xlabel="time", ylabel="freq", x='time', y='freq')
plt.show()
或者,您可以header=None
在读取 csv 时设置并使用索引进行绘图x=0,y=1
df = pd.read_csv(r"C:\Users\HP\OneDrive\Desktop\MPGES-1\Computational_work\MD\rmsd-yeni-utf-modifiye.csv", sep=";", header=None)
df.plot(kind="line", color="red", title="rmsd", xlabel="time", ylabel="freq",x=0,y=1)
plt.show()
或者作为第三个修复,您可以考虑向数据集添加标题行
并绘制让熊猫使用第一行作为列名的标题
df = pd.read_csv(r"C:\Users\HP\OneDrive\Desktop\MPGES-1\Computational_work\MD\rmsd-yeni-utf-modifiye.csv", sep=";")
df.plot(kind="line", color="red", title="rmsd", xlabel="time", ylabel="freq",x="time",y="freq")
plt.show()
https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html
推荐阅读
- java - 如何使用 safari 技术预览执行 selenium 自动化脚本(java)?
- c++ - 这些整数是否未对齐,我什至应该关心吗?
- python - 无法安装plotly python
- outlook - 无法使用 Blue Prism Mapiex 获取邮件功能读取 Outlook 已发送项目
- google-cloud-platform - 插入新图像时将 SourceImage 作为 Google 存储桶链接
- spring - Spring webflux 是否支持 socket.io 或 sockJs
- c# - 如何在 C# 中将子字符串从一个分隔符提取到另一个分隔符?
- jquery - 从工具栏中选择值后的 JqGrid TreeGrid 搜索网格显示空白数据
- ios - 角度动画不适用于ios
- html - 与当前 url 连接的 Jquery AJAX 相对路径