import matplotlib.pyplot as plt

# Data for the graph
years = list(range(2016, 2025))
consensuses = [
    "WSPOS Myopia Consensus Statement",
    "French Society of Ophthalmology (SFO) Consensus Statement",
    "German Ophthalmological Society (DOG) Guidelines",
    "Asia-Pacific Academy of Ophthalmology (APAO) Guidelines",
    "European Society of Ophthalmology (SOE) Consensus Statement",
    "American Academy of Ophthalmology (AAO) Guidelines",
    "International Myopia Institute (IMI) White Papers",
    "WSPOS Myopia Consensus Statement (Updated)",
    "Optometry Australia Position Statement",
    "Canadian Association of Optometrists (CAO) Position Statement",
    "Review of Myopia Management Comprehensive Review"
]
institutions = [
    "WSPOS",
    "SFO",
    "DOG",
    "APAO",
    "SOE",
    "AAO",
    "IMI",
    "WSPOS",
    "Optometry Australia",
    "CAO",
    "Review of Myopia Management"
]
languages = [
    ["English"],
    ["French"],
    ["German"],
    ["English"],
    ["English"],
    ["English"],
    ["English"],
    ["English", "French", "Polish", "German"],
    ["English"],
    ["English"],
    ["English"]
]

# Create the graph
fig, ax = plt.subplots(figsize=(10, 6))

for i, consensus in enumerate(consensuses):
    ax.plot(years[i], i, 'o', label=f"{consensus} ({', '.join(languages[i])})")

ax.set_yticks(range(len(consensuses)))
ax.set_yticklabels(consensuses)
ax.set_xticks(years)
ax.set_xlabel("Year")
ax.set_title("Consensuses, Statements, and Guidelines on Myopia Control and Management (2016-2024)")
ax.legend(loc='upper left', bbox_to_anchor=(1, 1))

plt.tight_layout()
plt.show()