import numpy as np
import pyrato as ra
import matplotlib.pyplot as plt
from pyrato.analytic import eigenfrequencies_rectangular_room_rigid
L = [4, 5, 2.6]
f_n, n = eigenfrequencies_rectangular_room_rigid(
    L, max_freq=75, speed_of_sound=343.6, sort=True)
ax = plt.axes()
ax.semilogx(f_n, np.arange(f_n.size), linestyle='', marker='o')
labels = [str(nn) for nn in n.T]
ax.set_yticks(np.arange(f_n.size))
ax.set_yticklabels(labels)
ax.set_xticks([30,  40, 50, 60, 70, 80])
ax.set_xticklabels(['30', '40', '50', '60', '70', '80'])
ax.set_xlabel('Frequency (Hz)')
ax.set_ylabel('Eigenfrequency index [$n_x, n_y, n_z$]')
plt.tight_layout()
