excel csv文件中的python绘图数据

excel csv文件中的python绘图数据,python,excel,csv,plot,Python,Excel,Csv,Plot,我的excel文件保存为csv。它有三列,我试图在同一个图上绘制第1列对第2列和第1列对第3列。我能够将这三列分隔成单独的变量,但由于某些原因,无法绘制它。只有X轴和Y轴显示,但没有实际图形。你知道怎么画吗 import matplotlib.pyplot as plt import pandas as pd data = pd.read_csv('file:///C:/Users/Avalanche/Documents/data/FL20data/FL20BU%2317.H-Transfer

我的excel文件保存为csv。它有三列,我试图在同一个图上绘制第1列对第2列和第1列对第3列。我能够将这三列分隔成单独的变量,但由于某些原因,无法绘制它。只有X轴和Y轴显示,但没有实际图形。你知道怎么画吗

import matplotlib.pyplot as plt
import pandas as pd 
data = pd.read_csv('file:///C:/Users/Avalanche/Documents/data/FL20data/FL20BU%2317.H-Transfer.1 cycle_data.csv', skiprows = 1)
Htran = data.head(1201)
colm1 = Htran.loc[: , "H-Transfer.1 cycle.Field (Oe)"]
colm2 = Htran.loc[: , "H-Transfer.1 cycle.F1"]
colm3 = Htran.loc[: , "H-Transfer.1 cycle.R1"] 
plt.plot([colm1], [colm2])
plt.plot([colm1], [colm3])
plt.xlim(-3500,3500)
plt.ylim(2400,2600)
plt.title('R vs. H')
plt.xlabel('H (Oe)')
plt.ylabel('Resistance')
plt.show()
数据:(我确保跳过代码中的第一行)

首先,
plt.plot([colm1],[colm2])
是一个坏主意:您将一个熊猫系列包装在一个列表中,然后尝试对其进行绘图,这通常是不起作用的。其次,您可能只需要一个值数组,而不是一个系列,因此添加
.values
属性即可获得值

假设您的数据帧由数字数据组成,这应该适合您

colm1 = Htran.loc[: , "H-Transfer.1 cycle.Field (Oe)"].values
colm2 = Htran.loc[: , "H-Transfer.1 cycle.F1"].values
colm3 = Htran.loc[: , "H-Transfer.1 cycle.R1"].values
plt.plot(colm1, colm2)
plt.plot(colm1, colm3)

顺便说一句,我建议浏览有关绘图的pandas文档。许多有用的信息:

您当前的输出是什么?空白还是不是正确的图形?它只是一个空白图形当我在末尾添加“.values”时,错误是AttributeError:'numpy.ndarray'对象没有属性'find',并且两个轴都从0变为1。除了“.values”@nrav999之外,我还需要添加其他内容吗?不,我认为您不应该添加,但这让我觉得您的数据帧中有非数字数据。你能将前5-10行数据添加到你的问题中吗?我将数据添加到了问题中。对我来说,HMM看起来像数字数据,但可能有非数字数据隐藏在其他地方。当然,您可以使用
pd.将序列转换为\u numeric()
,如中所示。
colm1 = Htran.loc[: , "H-Transfer.1 cycle.Field (Oe)"].values
colm2 = Htran.loc[: , "H-Transfer.1 cycle.F1"].values
colm3 = Htran.loc[: , "H-Transfer.1 cycle.R1"].values
plt.plot(colm1, colm2)
plt.plot(colm1, colm3)