Mobile phone power analysis provides an approach to user behavior profiling. Existing work conducts the analysis on either a single module or total power consumption, and ignores the correlation between modules. However, such correlation is vital in capturing usage patterns. To this end, graph neural networks (GNNs) are leveraged to explore such relationships among different modules. Since GNNs rely on pre-defined graph structures for message propagation, they cannot be applied directly to the scenario where the graph structure needs to be discovered. To resolve this issue, an approach called GraphPowerNet is developed. Firstly, a pseudo label-acquisition mechanism is used to cluster power consumption data into multiple virtual usage patterns that serve as supervisory information. Next, a graph learning module is designed to automatically extract the correlations among mobile phone modules. Based on the learned graph and the power consumption data, a graph convolutional model is adopted to conduct graph classification. Finally, the power consumption data is profiled by both the classification result and the graph structure. Experimental results on real world data show that the F1-score of application usage behavior classification is higher than 95%. Moreover, interpretability analysis shows that the graph learned via GraphPowerNet has strong practical significance.