python - 从excel和python绘制的图表有什么区别?
问题描述
使用 pandas 加载文本文件,并为选定的两列绘制图形(在pd.read_csv
命令行中提到)
文本文件在这里。
import matplotlib
import pandas as pd
import matplotlib.pyplot as plt
import glob
files=sorted(glob.glob(r"adress of folder containing text files\*.txt"))
T_raise= pd.read_csv(files[1],delimiter=',',skiprows=1,index_col=False,usecols=
["COLUMN A","COLUMN B"])
t=T_raise.iloc[1:6900,0]
T=T_raise.iloc[1:6900,1]
plt.plot(t.values,T.values)
从 python 和 excel 获得的图是不同的,Python 显示的是不正确的线性图(请在链接中找到从 excel 绘制的图的 png)
解决方案
通过使用缓冲 csv 文件,解决了上述减速问题
zip(t,T)
with open('text.csv', 'w') as f:
writer = csv.writer(f, delimiter='\t')
writer.writerows(zip(t,T))
获取图形的值,
# lines can be used for reading the different text files with similar number of columns, and getting graphs for selected columns and plotting them together in one figure
import matplotlib
import pandas as pd
import matplotlib.pyplot as plt
import csv
import glob
i=0;
files= sorted (glob.glob('<address of the text files there in link shared in question above\*.txt'))
nof = len(files)
for i in range(0,nof):
T_raise= pd.read_csv(files[i],delimiter=',',skiprows=1,index_col=False,usecols=["column A","Column B"], header=0)
t=T_raise.iloc[1:len(T_raise)-1,0]
T=T_raise.iloc[1:len(T_raise)-1,1]
zip(t,T)
with open('text.csv', 'w') as f:
writer = csv.writer(f, delimiter='\t')
writer.writerows(zip(t,T))
T2_raise=pd.read_csv('text.csv',delimiter='\t',header=0)
t2=T2_raise.iloc[1:len(T2_raise)-1,0]
T2=T2_raise.iloc[1:len(T2_raise)-1,1]
plt.plot(t2,T2)
建议有没有更好的方法,谢谢
推荐阅读
- datepicker - 在 antd datepicker 上添加一个按钮
- mysql - 无法在存在外键的此子表上的 Mariadb 上创建分区?
- firebase - Flutter Web:Firebase Multisite 中的登录状态和路由器设置
- python - 我正在使用来自 python 的 powershell 命令获取一些数据,而 Windows 中没有 cmd!如何将此输出分配给字符串变量?
- java - 在前台服务中使用 onSensorChanged() 更新
- python - 尝试计算建筑
- html - VS code CSS 在使用实时服务器时显示奇怪的行为
- javascript - 为什么 NextJS/React 会说“你可能忘记从它定义的文件中导出你的组件”
- google-cloud-platform - 在 gcp 上部署 ml 模型
- python - 正则表达式:剥离多行注释,但在新行开头保持换行符和单行注释