Slider in `scatter_3d` and `scatter` makes some data points go missing
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 18.8k
- Forks
- 2.8k
- Ø Merge
- 16 Std. 26 Min.
- Gemergte PRs (30 T.)
- 21
Beschreibung
Only 2 out of 4 categories are plotted when I use a slider. Other data points do not appear at all. When I slide the slider, different categories are plotted. E.g. in the MWE below, only TP and FP show up when the slider is below 0.9. At 0.9 only TN and FN show up.
This behavior also happens for both 2d and 3d scatter plots. See the MWE below for 3d.
import numpy as np
import pandas as pd
import plotly.express as px
def plot_scatter_3d_mwe():
# Create a small DataFrame with fake data
data = {
'Dim1': np.random.rand(10),
'Dim2': np.random.rand(10),
'Dim3': np.random.rand(10),
'due': [1, 0, 1, 0, 1, 0, 1, 0, 1, 0],
'serial_number': range(10),
'predicted_probabilities': [0.9, 0.8, 0.4, 0.2, 0.6, 0.7, 0.1, 0.5, 0.3, 0.95]
}
df = pd.DataFrame(data)
thresholds = np.arange(0, 1.1, 0.1)
all_frames = []
for threshold in thresholds:
# Recalculate predictions based on the threshold
predicted = (df['predicted_probabilities'] >= threshold).astype(int)
# Create the 4 categories for coloring: TP, TN, FP, FN
conditions = [
(df['due'] == 1) & (predicted == 1), # TP
(df['due'] == 0) & (predicted == 0), # TN
(df['due'] == 0) & (predicted == 1), # FP
(df['due'] == 1) & (predicted == 0), # FN
]
categories = ['TP', 'TN', 'FP', 'FN']
# Assign the categories to a new column
df['category'] = np.select(conditions, categories, default='Unknown')
df['threshold'] = threshold # Add threshold as a column for animation frame
all_frames.append(df.copy())
# Concatenate all frames for animation
df_all_frames = pd.concat(all_frames)
# Plot the scatter 3D with the categories as color and animate over thresholds
fig = px.scatter_3d(df_all_frames,
x='Dim1', y='Dim2', z='Dim3',
color='category',
animation_frame='threshold',
animation_group='serial_number')
fig.show()
# Call the function
plot_scatter_3d_mwe()
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Führe das bereitgestellte Python-MWE in plot_scatter_3d_mwe aus und vergleiche das Verhalten der animierten 2D- und 3D-Streudiagramme über die Schwellenwert-Frames hinweg. Verfolge, wie animation_frame und animation_group in der generierten Abbildung dargestellt werden; abgeschlossen ist die Aufgabe, wenn alle vier Kategorien und ihre Datenpunkte an jeder Position des Schiebereglers verfügbar bleiben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- numpy, pandas, plotly, python
- Bereich
- data-visualization
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100