从excel csv-fi绘制python数据

2024-09-19 22:06:20 发布

您现在位置:Python中文网/ 问答频道 /正文

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

DATA:(我确保跳过代码中的第一行)

^{pr2}$

Tags: csvimportdataplotas绘制pltloc
1条回答
网友
1楼 · 发布于 2024-09-19 22:06:20

首先,plt.plot([colm1], [colm2])不是一个好主意:你将一个pandas系列包装在一个列表中,然后试图绘制它,这通常是行不通的。其次,您可能只需要一个值数组,而不是pandas系列,因此请附加.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)

顺便说一句,我建议你看一下熊猫的绘图文档。很多有用的信息:https://pandas.pydata.org/pandas-docs/stable/visualization.html

相关问题 更多 >