Построить пошаговую функцию, используя начальные и конечные значения x в качестве оси x и V в качестве оси y - PullRequest
0 голосов
/ 04 июня 2018

У меня есть текстовый файл, настроенный следующим образом:

x0              x1              V
0              0.11            1.77
0.11           0.143           1.48
0.143          1               1.35

, и я хочу построить график пошаговой функции, где ось x - это значения от x0 до x1, а ось y - V.

Вот моя попытка:

#!/bin/env/python
import numpy as np 
import matplotlib.pyplot as plt 
import csv

x=[]
y=[]

with open('voltage.txt','r') as csvfile:
    points = csv.reader(csvfile, delimiter=',')
    next(points)
    for row in points:
        x.append(float(row[0]))
        y.append(float(row[1]))
allpoints=np.loadtxt('voltage.txt',delimiter=',')
plt.step(x,y)
plt.show()

, но она не генерирует график функции шага, который учитывает два значения x.

1 Ответ

0 голосов
/ 04 июня 2018

фальшивый файл ввода / вывода, затем ravel и repeat ломтики для x, y

from io import StringIO   # StringIO behaves like a file object
from matplotlib import pyplot as plt


txt = '''x0              x1              V
0              0.11            1.77
0.11           0.143           1.48
0.143          1               1.35'''

dary = np.loadtxt(StringIO(txt), skiprows=1)

print(dary)

[[0.    0.11  1.77 ]
 [0.11  0.143 1.48 ]
 [0.143 1.    1.35 ]]


plt.step(np.ravel(dary[:,:2]), np.repeat(dary[:,2], 2))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...