我想使用来自txt文件的值来创建一个阶梯函数图,以运行将生成图的方程。
问题是,当我运行脚本时,绘图不是从0开始的步进函数 - > 0.110,和0.110到0.143,和0.143到1.它从0到0 0,0至0.11,0.11至0.143。所以,基本上,它只绘制基于x0的步长函数,不包括x1。阶梯函数应该看起来像x0 - > x1,例如,0-> 0.110,0.110-> 0。 0.143,0.143-> 1.
有什么方法可以改变x = df。[' x0']以便它还包含x1值?我想保留我的代码,如果可能的话,不使用其他方法更改整个脚本。
我的txt文件类似于
x0 x1 y0 y1
0.000 0.110 -0.000050 -0.046207
0.110 0.143 -0.046206 -0.049596
0.143 1.000 -0.049596 0.000000
我想使用的方法
1. (((y1-yo)/(x1-x0)*(1-x0))+y0)
2. (-u + K/2)/e
以下是我的剧本
import numpy as np
import matplotlib.pyplot as plt
import csv
import pandas as pd
x=[]
y=[]
K=-2.69028905
e=1
df = pd.read_csv('vol_values.txt', delim_whitespace=True)
print(df)
df['u'] = df.apply(lambda row: (((row.y1-row.y0)/(row.x1-row.x0)*(1-row.x0))+row.y0 ) , axis=1)
df['V'] = df.apply(lambda row: -row.u + K/2, axis=1)
df
print(df)
x=df['x0']
x1=df['x1']
y=df['V']
plt.step(x,y)