To perform PHATE dimensionality reduction, instantiate a phate.PHATE operator, then use the fit_transform method on your input data. You can adjust parameters using set_params. After fitting, you can use transform() to project data into a different number of components (e.g., moving from 2D to 3D).
import phate
import scprep
# Generate or load your data
tree_data, tree_clusters = phate.tree.gen_dla()
# Initialize the PHATE operator
# k: number of neighbors
# t: diffusion time
phate_operator = phate.PHATE(k=15, t=100)
# Fit and transform the data to 2D
tree_phate = phate_operator.fit_transform(tree_data)
scprep.plot.scatter2d(tree_phate, c=tree_clusters)
# Change dimensionality to 3D
phate_operator.set_params(n_components=3)
tree_phate = phate_operator.transform()
scprep.plot.rotate_scatter3d(tree_phate, c=tree_clusters)