plotly / plotly/plotly.py

Transparent markers misbehaving in plotly.express.scatter

Ouverte
#4,664 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug P3
Langage dominant
Python
Étoiles
18.8k
Forks
2.8k
Merge moyen
16 h 26 min
PR mergées (30 j)
21

Description

Description

I create a scatter plot and use the color and size arguments. One subset gets transparent markers and is not visible in the plot and the legend.

But: if I hover over an area, where a marker should be, the tool tip is appearing, see figure below:

image

Expected Behavior

Marker should be visible in plot and legend.

Reproduction

Running the code below I get the figure above.

# %%
# Imports

import sys
import plotly
import pandas as pd
import plotly.express as px

print(f'Python version: {sys.version}')  # Mine is: 3.11.9
print(f'Pandas version: {pd.__version__}')  # Mine is: 2.2.2
print(f'Plotly version: {plotly.__version__}')  # Mine is: 5.22.0

# %%
# Create input frame

df = pd.DataFrame(
  [
    [11739,21.329416,10.010795,2,1],
    [20500,21.860714,12.238669,2,2],
    [1504,21.927166,10.314574,2,1],
    [28194,21.257576,12.823945,2,3],
    [9008,21.886381,9.579169,2,1],
    [17073,21.57327,11.087076,2,1],
    [40734,21.069445,11.887547,3,0],
    [36405,22.397081,11.608735,3,0],
    [36919,21.95463,12.856195,3,0],
    [9867,20.893126,10.761697,2,1]
  ],
  columns=['id' ,'x', 'y', 'loop_number', 'repetition']
)

df.set_index('id', inplace=True)

df.x = df.x.astype('float32')
df.y = df.y.astype('float32')
df.loop_number = df.loop_number.astype('category')  # As category to use color labels, not a color bar.
df.repetition = df.repetition.astype('int32')

df.head()

# %%
# Create Scatter Plot

px.scatter(
  df,
  x='x',
  y='y',
  color='loop_number',
  size='repetition',
  labels={
    'color': 'Type',
    'size': 'Size'
  },
  hover_name=df.index
)

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Exécutez la reproduction Python fournie avec plotly.express.scatter en utilisant color='loop_number' et size='repetition'. Examinez pourquoi le sous-ensemble transparent est omis à la fois du graphique et de la légende, alors qu’il reste accessible au survol ; le travail est terminé lorsque les marqueurs et l’entrée de légende de ce sous-ensemble sont visibles, tout en préservant le comportement scatter signalé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
pandas, python
Domaine
data-visualization
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.