In order to reduce the computation complexity resulted from large number of spectral information and to reduce the decline of classification performance resulted from data redundancy, a dimensionality reduction algorithm called non-negative sparse graph is proposed. At first, an over-complete block dictionary is constructed to realize the non-negative sparse representation of high-dimensional hyperspectral data. Then, according to the non-negative sparse representation, an inner non-negative sparsity graph and a penalty non-negative sparsity graph are built where the weights of edges are defined by a monotone decreasing function to embody the similarity degree of samples. At last, an optimal mapping from the high-dimensional space to a low-dimensional subspace can be obtained by simultaneously maximizing the distance between non-negative sparsity reconstruction samples of different classes and minimizing the distance between non-negative sparsity reconstruction samples of the same class, which makes the dimensionality reduction of high-dimensional hyperspectral data realized. Experimental results on AVIRIS 92AV3C hyperspectral data show that the proposed algorithm can obtain higher overall accuracy and Kappa coefficient with few training samples.