مرحبًا،
يجب أن يكون استعمال bbox_to_anchor مناسب لحل مشكلتك، يمكننا وضعه في أول الرسم البياني بحيث يكون فوق الرسم.
جرب استعمال الكود التالي و أخبرني بالنتيجة:
import matplotlib.pyplot as plt
import seaborn as sns
# Assuming 'data_train' is your DataFrame
# Set the overall figure size
plt.figure(figsize=(12, 11))
# Plot 1: age_at_hct vs gvhd_proph
plt.subplot(2, 2, 1)
sns.histplot(data=data_train, x='age_at_hct', hue='gvhd_proph', multiple='stack', palette='Blues')
plt.title("Stacked Histogram of Age at HCT and GVHD Prophylaxis")
plt.xlabel("Age at HCT")
plt.ylabel("Count")
plt.legend(bbox_to_anchor=(1, 1), loc='upper left') # Move legend outside
# Plot 1: age_at_hct vs tbi_status
plt.subplot(2, 2, 2)
sns.histplot(data=data_train, x='age_at_hct', hue='tbi_status', multiple='stack', palette='Blues')
plt.title("Stacked Histogram of Age at HCT and Tbi-Status")
plt.xlabel("Age at HCT")
plt.ylabel("Count")
plt.legend(bbox_to_anchor=(1, 1), loc='upper left') # Move legend outside
plt.tight_layout()
plt.show()
تحياتي.