import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(42) dates = pd.date_range(start='2023-01-01', end='2023-12-31', freq='M') sales = np.random.randint(1000, 5000, size=12) df = pd.DataFrame({'Date': dates, 'Sales': sales}) # Set up the plot plt.figure(figsize=(12, 6)) plt.scatter(df['Date'], df['Sales'], s=50, color='blue', zorder=2) plt.plot(df['Date'], df['Sales'], color='red', zorder=1) # Customize the plot plt.title('2023 年每月销售趋势', fontsize=16) plt.xlabel('月份', fontsize=12) plt.ylabel('销售量', fontsize=12) plt.grid(True, linestyle='--', alpha=0.7) # Format x-axis to show month names plt.gca().xaxis.set_major_formatter(plt.matplotlib.dates.DateFormatter('%b')) plt.xticks(rotation=45) # Add labels for each point [plt.annotate(f'{sale}', (date, sale), textcoords="offset points", xytext=(0,10), ha='center') for date, sale in zip(df['Date'], df['Sales'])] plt.tight_layout() plt.show()