Note: This file explains the placeholders used in the prompt template. It's not the exact prompt function but an overview of the variables involved.

Placeholders Explanation:

- {chart_type}: The type of the chart (e.g., bar, line, scatterplot, pie, sunburst, etc.).

- {colorAttr}: The color attribute from vis_config.get('colorAttr', 'N/A').

- {colorMap}: The color mapping from callout_state.get('colorMap', 'N/A').

- {sizeAttr}: The size attribute from vis_config.get('sizeAttr', 'N/A').

- {context}: The article context provided.

- {specific_prompt}: A specific prompt based on the chart type:

  - Bar Chart:
    Write a narrative for a bar chart. X-axis attribute: {xAttr}, Y-axis attribute: {yAttr}.

  - Line Chart:
    Write a narrative for a line chart that describe the trend with key values. X-axis attribute: {timeAttr}, Y-axis attributes: {valueAttr}.

  - Scatterplot:
    Write a narrative for a scatter plot. X-axis attribute: {xAttr}, Y-axis attribute: {yAttr}.

  - Pie Chart:
    Write a narrative for a pie chart that illustrates the proportions of a whole.

  - Sunburst Chart:
    Write a narrative for a sunburst chart that shows hierarchical data. Describe the relationships and proportions of the segments within the hierarchy.

  - Other Chart Types:
    Write a narrative for the given chart, focusing on its key insights and any noteworthy data points. X-axis attribute: {xAttr}, Y-axis attribute: {yAttr}.

- {interaction_prompt}: Interaction details based on user interactions:

  - Brush Interaction:
    I brushed a region in the scatterplot. Here's the brushed range: {brushed_range} and the full range: {full_range}.

  - Legend Interaction:
    I used the legend to differentiate between data categories. The selected groups are: {selected_groups}.
    Describe how the categories compare and any insights that emerge from this comparison.

  - Click Interaction:
    I clicked on specific data points in the scatterplot, such as the clicked value: {clicked_value}.
    Explain how these points fit into the broader dataset.

- {callout_description_text}: Specific data facts or observations to highlight.

- {has_describe_trend}: A boolean indicating whether to include trend descriptions. If True, include:
  Based on the input image
  Focusing on value attributes
