def test_relative_threshold(self): x = [0, 1, 2] y = [10, 20, 10] sp = BooleanTimeSeries.relative_threshold(x, y, 0.5) self.assertEqual([0, 0.5, 1.5], sp.t) self.assertEqual([False, True, False], sp.y) self.assertEqual(2, sp.end)
plt.plot( experiment_data[:, 2], experiment_data[:, 0], 'b-', label="m", ) plt.plot(experiment_data[:, 2], experiment_data[:, 1], 'r-', label="ft") plt.legend() plt.xlabel("time (hours)") plt.ylabel("Expression levels (AU)") plt.title("Experiment data") plt.show() # Turn experiment data into Boolean time series m_bts = \ BooleanTimeSeries.relative_threshold(experiment_data[:,2], experiment_data[:,0], 0.3) ft_bts = \ BooleanTimeSeries.relative_threshold(experiment_data[:,2], experiment_data[:,1], 0.3) # Add labels and plot styles to the switch points objects ft_bts.label = "ft" m_bts.label = "m" ft_bts.style = "r-" m_bts.style = "b-" # Plot the experiment data as Boolean time series BooleanTimeSeries.plot_many([m_bts, ft_bts]) plt.xlabel("Time (hours)") plt.show() # Now plot the experiment data Boolean time series with the original data