import numpy as np import matplotlib.pyplot as plt from my_util import functions as fu def test_plot_inverses(ficurve): var = ficurve.boltzmann_fit_vars fig, ax1 = plt.subplots(1, 1, figsize=(4.5, 4.5), tight_layout=True) start = min(ficurve.stimulus_value) end = max(ficurve.stimulus_value) x_values = np.arange(start, end, (end-start)/5000) ax1.plot(x_values, [fu.full_boltzmann(x, var[0], var[1], var[2], var[3]) for x in x_values], label="fit") ax1.set_ylabel('freq') ax1.set_xlabel('stimulus') start = var[1] end = var[0] x_values = np.arange(start, end, (end - start) / 50) ax1.plot([fu.inverse_full_boltzmann(x, var[0], var[1], var[2], var[3]) for x in x_values], x_values, '.', c="red", label='inverse') plt.legend() plt.show()