{"spec_id":"line-markers","library":"pygal","language":"python","code":"\"\"\" anyplot.ai\nline-markers: Line Plot with Markers\nLibrary: pygal 3.1.0 | Python 3.13.13\nQuality: 76/100 | Updated: 2026-05-12\n\"\"\"\n\nimport numpy as np\nimport pygal\nfrom pygal.style import Style\n\n\n# Data - Temperature readings over time (sparse experimental data)\nnp.random.seed(42)\nx_values = np.arange(0, 12)  # 12 months\nsensor_a = 20 + 5 * np.sin(x_values * np.pi / 6) + np.random.randn(12) * 1.5\nsensor_b = 18 + 4 * np.sin(x_values * np.pi / 6 + 1) + np.random.randn(12) * 1.2\nsensor_c = 22 + 3 * np.sin(x_values * np.pi / 6 + 2) + np.random.randn(12) * 1.0\n\nmonths = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n\n# Custom style for large canvas\ncustom_style = Style(\n    background=\"white\",\n    plot_background=\"white\",\n    foreground=\"#333333\",\n    foreground_strong=\"#333333\",\n    foreground_subtle=\"#666666\",\n    colors=(\"#306998\", \"#FFD43B\", \"#E74C3C\"),  # Python Blue, Python Yellow, Red\n    title_font_size=72,\n    label_font_size=48,\n    major_label_font_size=42,\n    legend_font_size=42,\n    value_font_size=36,\n    stroke_width=6,\n    opacity=0.9,\n    opacity_hover=1.0,\n    transition=\"400ms ease-in\",\n    font_family=\"sans-serif\",\n)\n\n# Create line chart with markers\nchart = pygal.Line(\n    width=4800,\n    height=2700,\n    style=custom_style,\n    title=\"line-markers · pygal · pyplots.ai\",\n    x_title=\"Month\",\n    y_title=\"Temperature (°C)\",\n    show_dots=True,\n    dots_size=16,\n    stroke_style={\"width\": 6},\n    show_x_guides=False,\n    show_y_guides=True,\n    legend_at_bottom=False,\n    legend_box_size=32,\n    margin=100,\n    spacing=50,\n    explicit_size=True,\n    truncate_legend=-1,\n    x_label_rotation=0,\n    show_x_labels=True,\n)\n\n# Set x-axis labels\nchart.x_labels = months\n\n# Add data series\nchart.add(\"Sensor A\", sensor_a.tolist())\nchart.add(\"Sensor B\", sensor_b.tolist())\nchart.add(\"Sensor C\", sensor_c.tolist())\n\n# Save as PNG and HTML\nchart.render_to_png(\"plot.png\")\nchart.render_to_file(\"plot.html\")\n"}