KrishnaswamyLab / scprep

A collection of scripts and tools for loading, processing, and handling single cell data.
MIT License
72 stars 19 forks source link

`scprep.plot.graph()` #89

Open dburkhardt opened 4 years ago

dburkhardt commented 4 years ago
import scprep as scprep
import graphtools as gt
import pygsp
import numpy as np

from sklearn import datasets
data = datasets.make_blobs(n_samples=n_samples, random_state=8)

G = gt.Graph(data)

ax = scprep.plot.scatter2d(data, c=group, 
                      xlabel='x0', ylabel='x1',
                      title='blobs_regular', figsize=(6,6),
                     legend=False)

kernel = G.K.toarray()
# This block of code draws lines between each point and its k-nearest neighbors
for i, pt in enumerate(data):
    neighbors = np.where(kernel[i] > 0)[0]
    for j in neighbors:
        if i >= j:
            continue
        nn_coordinates = data[j]
        ax.plot([pt[0], nn_coordinates[0]], [pt[1], nn_coordinates[1]],
               color='k', alpha=kernel[i,j], zorder=0)

ax.set_aspect(1)

produces

image