hoffstadt / hoffstadt/DearPyGui

Plot legend color is not updated according to theme color

Open
#1,610 1 comment 0 reactions 0 assignees View on GitHub
category: plots priority: high type: bug
Dominant language
C++
Stars
15.6k
Forks
783
PR merge metrics
No merged PRs in 30d

Description

## Version of Dear PyGui

Version: 1.3.1
Operating System: Windows 10

## My Issue/Question

When a plot scatter series is themed, chosen color is not displayed on the legend. Instead, some default series colour is displayed. The theme colour is properly employed in the plot area itself.

## To Reproduce

Steps to reproduce the behavior:
1. Run example code
2. Look at colour of plot legend entry for scatter series. It is blue, but it should be red. Stem series colour is updated in the legend correctly.

## Expected behavior

The colour that is set by `dpg.add_theme_color` should be displayed in the legend.

## Screenshots/Video

![image](https://user-images.githubusercontent.com/1469093/154689800-ce3f3fec-7584-4905-b5a1-7682639edf8f.png)

## Standalone, minimal, complete and verifiable example

The example code is from documentation, https://dearpygui.readthedocs.io/en/latest/documentation/plots.html#colors-and-styles -- only colour of scatter series is changed to red in order to highlight the problem.

```python
import dearpygui.dearpygui as dpg
from math import sin

dpg.create_context()

sindatax = []
sindatay = []
for i in range(0, 100):
sindatax.append(i / 100)
sindatay.append(0.5 + 0.5 * sin(50 * i / 100))
sindatay2 = []
for i in range(0, 100):
sindatay2.append(2 + 0.5 * sin(50 * i / 100))

with dpg.window(label="Tutorial", width=500, height=400):
# create a theme for the plot
with dpg.theme(tag="plot_theme"):
with dpg.theme_component(dpg.mvStemSeries):
dpg.add_theme_color(dpg.mvPlotCol_Line, (150, 255, 0), category=dpg.mvThemeCat_Plots)
dpg.add_theme_style(dpg.mvPlotStyleVar_Marker, dpg.mvPlotMarker_Diamond, category=dpg.mvThemeCat_Plots)
dpg.add_theme_style(dpg.mvPlotStyleVar_MarkerSize, 7, category=dpg.mvThemeCat_Plots)

with dpg.theme_component(dpg.mvScatterSeries):
dpg.add_theme_color(dpg.mvPlotCol_Line, (217, 95, 2), category=dpg.mvThemeCat_Plots)
dpg.add_theme_style(dpg.mvPlotStyleVar_Marker, dpg.mvPlotMarker_Square, category=dpg.mvThemeCat_Plots)
dpg.add_theme_style(dpg.mvPlotStyleVar_MarkerSize, 4, category=dpg.mvThemeCat_Plots)

# create plot
with dpg.plot(tag="plot", label="Line Series", height=-1, width=-1):

# optionally create legend
dpg.add_plot_legend()

# REQUIRED: create x and y axes
dpg.add_plot_axis(dpg.mvXAxis, label="x")
dpg.add_plot_axis(dpg.mvYAxis, label="y", tag="yaxis")

# series belong to a y axis
dpg.add_stem_series(sindatax, sindatay, label="0.5 + 0.5 * sin(x)", parent="yaxis", tag="series_data")
dpg.add_scatter_series(sindatax, sindatay2, label="2 + 0.5 * sin(x)", parent="yaxis", tag="series_data2")

# apply theme to series
dpg.bind_item_theme("series_data", "plot_theme")
dpg.bind_item_theme("series_data2", "plot_theme")

dpg.create_viewport(title='Custom Title', width=800, height=600)
dpg.setup_dearpygui()
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.