i tried a lot of different things its either error or it adds literly just 1 of the value. Im trying that after every loop iteration it changes from group_1 to group_2. If i solely put group_1 then it works but that is not the goal.
i would like to hear out your ideas.
import plotly.graph_objects as go
fig = go.Figure()
species = ["Adelie", "Gentoo", "Chinstrap"]
group_1 = df[df['species'] == 'Adelie']['culmen_depth_mm']
group_2 = df[df['species'] == 'Chinstrap']['culmen_depth_mm']
group_3 = df[df['species'] == 'Gentoo']['culmen_depth_mm']
froup_1 = df[df['species'] == 'Adelie']['culmen_length_mm']
froup_2 = df[df['species'] == 'Chinstrap']['culmen_length_mm']
froup_3 = df[df['species'] == 'Gentoo']['culmen_length_mm']
### code
#for i, col in range(3):
for i, col in enumerate(species, 0):
group = group_ i
fig.add_trace(go.Scatter(x = group , y = froup, mode ='markers', name = col ))
fig.update_layout()
fig.show()
CodePudding user response:
I'm not sure I'm understanding the question correctly, but you could make a list with your groups inside, and just loop over this list instead of the species variable, like so :
species_names = ["Adelie", "Gentoo", "Chinstrap"]
group_1 = df[df['species'] == 'Adelie']['culmen_depth_mm']
group_2 = df[df['species'] == 'Chinstrap']['culmen_depth_mm']
group_3 = df[df['species'] == 'Gentoo']['culmen_depth_mm']
fgroup_1 = df[df['species'] == 'Adelie']['culmen_length_mm']
fgroup_2 = df[df['species'] == 'Chinstrap']['culmen_length_mm']
fgroup_3 = df[df['species'] == 'Gentoo']['culmen_length_mm']
species = [group_1, group_2, group_3]
fspecies = [fgroup1, fgroup_2, fgroup_3]
for i, group in enumerate(species):
fig.add_trace(go.Scatter(x=group, y=fspecies[i], mode='markers', name=species_names[i]))
fig.update_layout()
fig.show()