Would appreciate suggestions to solve this problem.
You need to come up with a metric to compare two graphs. If all your graphs had points with the same X-axis values, you could align them by the X-axes and calculate a Euclidean distance between Y-axis values, for instance. This would allow to compare all pairs for any typical clustering algorithm like K-means, hierarchical clustering, or something more interesting like self organizing maps.
I'm guessing that not all graphs share the same values on the X-axis, however. You could interpolate between points to accomplish that. The graph you show looks to be high enough resolution that interpolation between points wouldn't cause too much problem or introduce too much noise. This would give you all the points you need to align your graphs.