title: Generate 3D PCA seperation plane plot
body: <p>I wanted to generate a 3D plot to display the separation of the two classes. I looked at <a href="https://stackoverflow.com/questions/49957601/how-can-i-draw-3d-plane-using-pca-in-python">this solution</a>, but do not know how to implement the separation plane in a <code>px.scatter_3d</code></p>
  <p>Here is the code that I have so far:</p>
  <pre><code>import numpy as np
  import matplotlib.pyplot as plt
  import plotly.express as px
  import seaborn as sns
  import pandas as pd
  import os
  from mpl_toolkits.mplot3d import Axes3D
  from sklearn.decomposition import PCA
  
  #df = pd.read_csv('df00_snippet.csv')
  #X_train_flat = df.drop(columns=['Label']).values
  
  #ydata = df['Label'].values
  
  #X_train_flat
  
  pca_train = PCA().fit(X_train_flat)
  
  pca_train = PCA(n_components = 4) 
  x_pca = pca_train.fit_transform(X_train_flat)
  
  y_train_new = ydata.astype(str)
  
  # https://plotly.com/python/3d-scatter-plots/
  fig = px.scatter_3d(x_pca,
              x= x_pca[:,0], y= x_pca[:,1],z = x_pca[:,2], 
              labels={'x':'PCA-1', 'y':'PCA-2','z':'PCA-3'},
              size_max=13,
              #symbol=y_train_new, 
              opacity=1,
              color=y_train_new,
              color_discrete_sequence=[&quot;blue&quot;, &quot;green&quot;],
              title='3d Plot of Top 3 PCA components')
  fig.show()
  </code></pre>
  <p>Here is a snippet of mydata:</p>
  <pre><code>feat1   feat2   feat3   feat4   Label
  -3.8481877  -0.47685334 0.63422906  1.0396314   1
  -2.320888   0.65347993  1.1519914   0.12997247  1
  1.5827686   1.4119303   -1.7410104  -4.6962333  1
  -0.1337152  0.13315737  -1.6648949  -1.4205348  1
  -0.4028037  1.332986    1.3618442   0.3292255   1
  -0.015517877    1.346349    1.4083523   0.87017965  1
  -0.2669228  0.5478992   -0.06730786 -1.5959451  1
  -0.03318152 0.3263167   -2.116833   -5.4616213  1
  0.4588691   0.6723614   -1.617398   -4.3511734  1
  0.5899199   0.66525555  -1.694493   -3.9452586  1
  1.610061    2.4186094   1.8807093   1.3764497   0
  1.7985699   2.4387648   1.6306056   1.1184534   0
  -9.222036   -9.9776 -9.832  -9.909746   0
  0.21364458  -1.0171559  -4.9093766  -6.2154694  0
  -0.019955145    -1.1677283  -4.6549516  -5.9503417  0
  0.44730473  -0.77167743 -4.7527356  -5.971007   0
  -0.16508447 -0.005777468    -1.5020386  -4.49326    0
  -0.8654994  -0.54387957 -1.300646   -4.621529   0
  -1.7471086  -2.0005553  -1.7533782  -2.6065414  0
  -1.5313624  -1.6995796  -1.4394685  -2.600004   0
  </code></pre>
  <p>Can you assist me in generating the separation plane?  Thanks!</p>