# {py:mod}`feedback_forensics.app.plotting.paper`

```{py:module} feedback_forensics.app.plotting.paper
```

```{autodoc2-docstring} feedback_forensics.app.plotting.paper
:allowtitles:
```

## Module Contents

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`get_top_and_bottom_annotators <feedback_forensics.app.plotting.paper.get_top_and_bottom_annotators>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_top_and_bottom_annotators
    :summary:
    ```
* - {py:obj}`generate_latex_table <feedback_forensics.app.plotting.paper.generate_latex_table>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.generate_latex_table
    :summary:
    ```
* - {py:obj}`get_latex_doc_preamble <feedback_forensics.app.plotting.paper.get_latex_doc_preamble>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_latex_doc_preamble
    :summary:
    ```
* - {py:obj}`add_table_preamble <feedback_forensics.app.plotting.paper.add_table_preamble>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.add_table_preamble
    :summary:
    ```
* - {py:obj}`add_table_postamble <feedback_forensics.app.plotting.paper.add_table_postamble>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.add_table_postamble
    :summary:
    ```
* - {py:obj}`get_intensity_callable <feedback_forensics.app.plotting.paper.get_intensity_callable>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_intensity_callable
    :summary:
    ```
* - {py:obj}`get_latex_top_and_bottom_annotators <feedback_forensics.app.plotting.paper.get_latex_top_and_bottom_annotators>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_latex_top_and_bottom_annotators
    :summary:
    ```
* - {py:obj}`get_latex_table_from_metrics_df <feedback_forensics.app.plotting.paper.get_latex_table_from_metrics_df>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_latex_table_from_metrics_df
    :summary:
    ```
````

### Data

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`TITLE_FONT_SIZE <feedback_forensics.app.plotting.paper.TITLE_FONT_SIZE>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.TITLE_FONT_SIZE
    :summary:
    ```
* - {py:obj}`TITLE_FONT_WEIGHT <feedback_forensics.app.plotting.paper.TITLE_FONT_WEIGHT>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.TITLE_FONT_WEIGHT
    :summary:
    ```
* - {py:obj}`POSITIVE_COLOR <feedback_forensics.app.plotting.paper.POSITIVE_COLOR>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.POSITIVE_COLOR
    :summary:
    ```
* - {py:obj}`NEGATIVE_COLOR <feedback_forensics.app.plotting.paper.NEGATIVE_COLOR>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.NEGATIVE_COLOR
    :summary:
    ```
* - {py:obj}`ALTERNATE_ROW_COLOR <feedback_forensics.app.plotting.paper.ALTERNATE_ROW_COLOR>`
  - ```{autodoc2-docstring} feedback_forensics.app.plotting.paper.ALTERNATE_ROW_COLOR
    :summary:
    ```
````

### API

````{py:data} TITLE_FONT_SIZE
:canonical: feedback_forensics.app.plotting.paper.TITLE_FONT_SIZE
:value: >
   14

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.TITLE_FONT_SIZE
```

````

````{py:data} TITLE_FONT_WEIGHT
:canonical: feedback_forensics.app.plotting.paper.TITLE_FONT_WEIGHT
:value: >
   'bold'

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.TITLE_FONT_WEIGHT
```

````

````{py:data} POSITIVE_COLOR
:canonical: feedback_forensics.app.plotting.paper.POSITIVE_COLOR
:value: >
   '#9eb0ff'

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.POSITIVE_COLOR
```

````

````{py:data} NEGATIVE_COLOR
:canonical: feedback_forensics.app.plotting.paper.NEGATIVE_COLOR
:value: >
   '#ffadad'

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.NEGATIVE_COLOR
```

````

````{py:data} ALTERNATE_ROW_COLOR
:canonical: feedback_forensics.app.plotting.paper.ALTERNATE_ROW_COLOR
:value: >
   '#f5f5f5'

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.ALTERNATE_ROW_COLOR
```

````

````{py:function} get_top_and_bottom_annotators(annotator_metrics: dict, top_n: int = 5, bottom_n: int = 5, format_values: bool = True)
:canonical: feedback_forensics.app.plotting.paper.get_top_and_bottom_annotators

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_top_and_bottom_annotators
```
````

````{py:function} generate_latex_table(annotators_data: list[list[str | float]], metric_names: list[str], title: str | None, minipage_width: float, first_col_width: float, metric_col_width: float, vertical_spacing: float, get_color_intensity: typing.Callable[[float], float] | None = None, special_configs: dict | None = None, precision: int = 2)
:canonical: feedback_forensics.app.plotting.paper.generate_latex_table

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.generate_latex_table
```
````

````{py:function} get_latex_doc_preamble()
:canonical: feedback_forensics.app.plotting.paper.get_latex_doc_preamble

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_latex_doc_preamble
```
````

````{py:function} add_table_preamble(latex: list, title: str)
:canonical: feedback_forensics.app.plotting.paper.add_table_preamble

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.add_table_preamble
```
````

````{py:function} add_table_postamble(latex: list)
:canonical: feedback_forensics.app.plotting.paper.add_table_postamble

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.add_table_postamble
```
````

````{py:function} get_intensity_callable(max_abs_value: float, min_abs_value: float)
:canonical: feedback_forensics.app.plotting.paper.get_intensity_callable

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_intensity_callable
```
````

````{py:function} get_latex_top_and_bottom_annotators(annotator_metrics: dict, metric_name: str, top_n: int = 5, bottom_n: int = 5, top_title: str = 'Five most encouraged traits', bottom_title: str = 'Five most discouraged traits') -> str
:canonical: feedback_forensics.app.plotting.paper.get_latex_top_and_bottom_annotators

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_latex_top_and_bottom_annotators
```
````

````{py:function} get_latex_table_from_metrics_df(metrics_df: pandas.DataFrame, title: str, first_col_width: float = 0.2)
:canonical: feedback_forensics.app.plotting.paper.get_latex_table_from_metrics_df

```{autodoc2-docstring} feedback_forensics.app.plotting.paper.get_latex_table_from_metrics_df
```
````
