I have a class to organize my datasets that contains several variables. I read in multiple datasets that's I'd like to compare, so I would like to creat a function that takes one of the class variables as an argument, if that's possible. Currently I have the setup below which I think should work, but I was wondering if there's a more elegant/pythonic way to go about it?
import numpy as np
import matplotlib.pyplot as plt
class MyClass:
def __init__(self, input=None):
_tmp = np.genfromtxt(input)
self.var1 = _tmp['f0']
self.var2 = _tmp['f1']
self.var3 = var1 + var2
self.var4 = var1 * var2
def var(self, v='var1'):
if v=='var1':
return self.var1
if v=='var2':
return self.var2
if v=='var3':
return self.var3
if v=='var4':
return self.var4
def plot_MyClass(data1, data2, var='var1'):
plt.plot(data1.var(var), data2.var(var), 'k-')
return
###########
data1 = MyClass(file1.txt)
data2 = MyClass(file2.txt)
plot_MyClass(data1, data2, var='var3')
plt.show()