Splom : different color for each points?

Hi!

I have a dataframe with 13530x5 points, and I want to display in a scatter matrix with the SPLOM fonction.
Each point has another property that I want to use for coloring (in a vector sized of 67650).
However when give this vector in “marker”, I realised that the the value in A,B is the same than B,A in my matrix. I would have thought that A,B would contain the value for A, and B,A the value for B… Is there anything that can be done to fix this with the Splom function ?

Thank you :slight_smile:

Here’s the code and output

fig = go.Figure(
    data=go.Splom(
     dimensions=[
          dict(label='Monomer', values=df.query("system == 'AP2-I_ACDC_Monomere'")["average"]),
          dict(label='Monomer noHS', values=df.query("system == 'AP2-I_ACDC_Monomere_SansHS'")["average"]),
          dict(label='Dimer', values=df.query("system == 'AP2-I_ACDC_Dimere'")["average"]),
          dict(label='Dimer noHS', values=df.query("system == 'AP2-I_ACDC_Dimere_SansHS'")["average"]),
          dict(label='ACDC_test1', values=df.query("system == 'First_struct_bigger'")["average"]),

     ],

      marker=dict(size=df["std"],
                      color=df["rmsd"],
                      colorscale="viridis",
                      colorbar={"title":"RMSD"},
                      sizeref=0.1,
                      sizemode="diameter",
                      opacity=0.8,
                      line=dict(width=0.5,color="black")),
      text=df["ligand"],
      customdata=df["ligand"],
      diagonal_visible=False,
    )
    
)
fig.update_layout(
    title=dict(text="Energy of the best pose of each compound", font=dict(size=20)),
    width=1000,
    height=1000,
)

Hi @ttubiana welcome to the forums.

Could you try to explain your problem in different words? Maybe with the example used here

(search for Splom of the Iris data set on the linked page.

Hi @AIMPED ! Thank you for your quick answer and sorry I wasn’t very clear maybe…

With SPLOM, the upper and lower part of the scatter plot are symmetrical.
However, I would like to color the points in the upperpart with a different color of the lowerpart.

Here’s something a bit more clear I hope…

example of my data :

system ligand average std rmsd
0 A 139668 -6.360 0.446542 15.81140
1 A 141122 -6.125 0.475263 21.57255
13549 B 139668 -4.925 0.537471 21.92915
13550 B 141122 -3.350 0.422493 19.09735
27098 C 139668 -5.285 0.440766 28.3102
27099 C 139668 -6.124 0.426514 16.4876

I wanted a pairwise scatter plot of my average value of all my systems (so Splom is perfect for that), and adjust the color based on the RMSD.
In the Upperpart, if I take the average point of [A,B] the rmsd color will correspond the system A, Same for the graph in the lowerpart [B,A], the color of the point will correspond to A and not to B

I know it’s a bit tricky so I hope it more understandable like this…