If you want to generate only one single box plot for the entire matrix you can flatten the matrix into a 1D array and plot it using plt.boxplot
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = np.random.random(size=(4,4))
df = pd.DataFrame(data)
plt.boxplot(df.values.flatten())
plt.title("Hello Everyone")
plt.show()