Adjsuting and cleaning
This commit is contained in:
57
figure1.py
57
figure1.py
@@ -263,3 +263,60 @@ plt.legend(frameon=False, loc='upper center', bbox_to_anchor=(0.5, -0.05))
|
||||
plt.tight_layout()
|
||||
plt.show()
|
||||
##
|
||||
|
||||
|
||||
|
||||
|
||||
# %% name
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# Data
|
||||
data = {
|
||||
'Visit': [9, 8, 7, 6, 5, 4, 3, 2, 1],
|
||||
'patient_count': [2, 3, 3, 6, 13, 17, 28, 24, 32]
|
||||
}
|
||||
|
||||
# Create figure and axis
|
||||
fig, ax = plt.subplots(figsize=(10, 6))
|
||||
|
||||
# Plot the bar chart
|
||||
bars = ax.bar(data['Visit'], data['patient_count'], color='darkblue', label='Patients by Visit Count')
|
||||
|
||||
# Add labels and title
|
||||
ax.set_xlabel('Visit Number (from last to first)', fontsize=12)
|
||||
ax.set_ylabel('Number of Patients', fontsize=12)
|
||||
ax.set_title('Patient Visits by Visit Number', fontsize=14)
|
||||
|
||||
# Invert x-axis to show Visit 9 on the left (descending order) if desired, but keep natural order (1–9 left to right)
|
||||
# For descending order (9→1 from left to right), we'd need to reverse:
|
||||
# Visit = data['Visit'][::-1], patient_count = data['patient_count'][::-1]
|
||||
# But standard practice is ascending (1 to 9), so we'll sort accordingly:
|
||||
# Let's sort by Visit to ensure left-to-right: 1,2,...,9
|
||||
|
||||
# Actually, your current Visit list is [9,8,...,1], which is descending.
|
||||
# Let's sort by Visit for intuitive left-to-right increasing order:
|
||||
sorted_indices = sorted(range(len(data['Visit'])), key=lambda i: data['Visit'][i])
|
||||
visit_sorted = [data['Visit'][i] for i in sorted_indices]
|
||||
count_sorted = [data['patient_count'][i] for i in sorted_indices]
|
||||
|
||||
# Re-plot with sorted x-axis:
|
||||
ax.clear()
|
||||
bars = ax.bar(visit_sorted, count_sorted, color='darkblue', label='Patients by Visit Count')
|
||||
|
||||
# Re-apply labels, etc.
|
||||
ax.set_xlabel('Number of Visits', fontsize=12)
|
||||
ax.set_ylabel('Number of Unique Patients', fontsize=12)
|
||||
#ax.set_title('Number of Patients by Visit Number', fontsize=14)
|
||||
|
||||
# Add legend
|
||||
ax.legend()
|
||||
|
||||
# Improve layout and grid
|
||||
ax.grid(axis='y', linestyle='--', alpha=0.7)
|
||||
plt.xticks(visit_sorted) # Ensure all integer visit numbers are shown
|
||||
|
||||
# Show the plot
|
||||
plt.tight_layout()
|
||||
plt.show()
|
||||
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user