 Eigenvalues  What does it mean that matrix $A$ is “scaling space” by $\lambda_i$ in direction $\mathbf v^{(i)}$
 Intersection between Ktopology and lower limite topology
 On ADMM implementation $\XB\_F^2+\lambda\sum_{i=1}^n\B_i\_1$
 Number of connected components
 Factorizing an 8×8 unitary matrix into tensor product of three 2×2 unitaries
 Properties matrices's limits
 Applications for finding eigenvalues and eigenvectors of Jacobi operators.
 Bayes rule derivation with vectors
 Evaluate the following vector problems:
 local involution in a riemann surface around a fixed point
 Liner algebra transformations
 Regularization of Improper integral
 Product/Exponential Adjunction in Category of Compactly Generated Hausdorff Spaces
 How to expand taylor series for finding displacement in pixel in an image?
 Property of central product of components
 A uniqueness result for a BVP over a semiinfinite interval
 Endpoint behavior of Legendre Series
 Calculating the $p+1$ derivative of integrodifferential
 Testing an alternate series for convergence
 Use pells equation to solve continued fraction
How to annotate labels in a 3D matplotlib scatter plot?
I have made a 3x3 PCA matrix with sklearn.decomposition PCA and plotted it to a matplotlib 3D scatter plot.
How can I annotate labels near the points/marker? Here is my code:
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
%matplotlib notebook
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.scatter(
existing_df_3dx['PC0'], existing_df_3dx['PC1'], existing_df_3dx['PC2'], # data
s=60 # marker size
)
plt.show()
Also, if you know of a better way to plot a 3D PCA, please post your code
Edit:
A solution provided from Stack Overflow:
for i in range(len(data_df_3dx)):
x, y, z = data_df_3dx.iloc[i]['PC1'], data_df_3dx.iloc[i]['PC2'], data_df_3dx.iloc[i]['PC3']
ax.scatter(x, y, z)
#now that you have the coordinates you can apply whatever text you need. I'm
#assuming you want the index, but you could also pass a column name if needed
ax.text(x, y, z, '{0}'.format(d

In the following posts [1], [2] the plotting of 3D arrows in matplotlib is discussed.
Similarly Annotation3D class (inherited from Annotation) can be created:
from mpl_toolkits.mplot3d.proj3d import proj_transform
from matplotlib.text import Annotation
class Annotation3D(Annotation):
'''Annotate the point xyz with text s'''
def __init__(self, s, xyz, *args, **kwargs):
Annotation.__init__(self,s, xy=(0,0), *args, **kwargs)
self._verts3d = xyz
def draw(self, renderer):
xs3d, ys3d, zs3d = self._verts3d
xs, ys, zs = proj_transform(xs3d, ys3d, zs3d, renderer.M)
self.xy=(xs,ys)
Annotation.draw(self, renderer)
Further, we can define the annotate3D() function:
def annotate3D(ax, s, *args, **kwargs):
'''add anotation text s to to Axes3d ax'''
tag = Annotation3D(s, *args, **kwargs)
ax.add_artist(tag)
Using this function annotation tags can be added to Axes3d as in example bellow:
3D graph example
impor
20170321 00:31:16