如何在绘图前允许用户选择条件?
例如。从00:15:00到01:00:00选择时间 &安培;选择AMB_TEMP然后使用这些信息绘制图表
这是代码:
import matplotlib.pyplot as plt
from datetime import time, datetime
x = []
y = []
t = []
fig = plt.figure()
rect = fig.patch
rect.set_facecolor('#31312e')
readFile = open('data.txt', 'r')
sepFile = readFile.read().split('\n')
readFile.close()
for idx, plotPair in enumerate(sepFile):
if idx > 5:
xAndY = plotPair.split(';')
time_string = xAndY[0]
time_string = time_string.replace(' ', '') # remove blanks
datetime_obj = datetime.strptime(time_string, '%H:%M:%S')
t.append(datetime_obj)
x.append(float(xAndY[2]))
y.append(float(xAndY[3]))
ax1 = fig.add_subplot(1, 1, 1, axisbg='blue')
ax1.plot(t, y, 'c', linewidth=3.3)
plt.title('Alternate Energy')
plt.xlabel('time mins')
plt.show()
这是我的txt文件数据:
[messung]
Uhrzeit;
Intervall;AMB_TEMP;IRAD;W_D;W_S;Poly_M_Tem;TF_M_Temp;
s;DegC;W/m2;Deg;m/s;DegC;DegC
[Start]
00:00:00;900;25.3;55.8;4.5;0.4;;
00:15:00;900;26.1;55.8;5.5;1.0;;
00:30:00;900;26.1;55.8;6.1;1.0;;
00:45:00;900;26.1;55.9;5.7;0.9;;
01:00:00;900;26.1;55.9;5.8;0.7;;
01:15:00;900;26.1;55.8;6.4;0.8;;
01:30:00;900;26.1;55.8;6.1;0.8;;
01:45:00;900;26.1;55.8;5.7;1.0;;
02:00:00;900;26.0;55.8;5.8;1.1;;
.
.
.
22:45:00;900;25.0;55.7;6.1;0.6;;
23:00:00;900;25.0;55.8;5.2;0.4;;
23:15:00;900;25.2;55.8;5.7;0.5;;
23:30:00;900;25.3;55.8;6.2;0.5;;
23:45:00;900;25.4;55.8;5.8;0.4;;
答案 0 :(得分:0)
我想你要找的是:raw_input
,它允许你提出一个例子并从用户那里得到一个输入;)
s = raw_input('Select a time from 00:15:00 to 01:00:00')
然后你必须循环,而输入不在你的条件之间。对于您需要的第二个输入也是如此。
您可以在此处查看更多内容:https://docs.python.org/2/library/functions.html#raw_input
如果您需要,您还可以创建一个GUI界面,使其更加美观。