Q:

Vertex Names as Labels in GraphPlots

I'm trying to use GraphPlot to draw a Graph which is constructed from an adjacency matrix and am having trouble with the labels in the plot. I am doing (data is a silly example) the following:
data = Import["~/test.mtx", "MatrixMarket"]
verts = {"Aa", "Ba", "Ca", "Da", "Ea"}

g = WeightedAdjacencyGraph[verts, data, VertexLabels -> "Name"]

Which correctly results in a labelled Adjacency Graph:

However, when I try and render the graph using a GraphPlot (or similar function...) I always get numbered labels instead. Eg:
GraphPlot[g, 
 VertexRenderingFunction -> ({White, EdgeForm[Black], Disk[#, .1], 
     Black, Text[#2, #1]} &)]

renders as:

My question is how can I get GraphPlot (and similar) to use the vertex names like Graph itself does? Alternatively, is there a better way of providing vertex names when using an Adjacency Matrix? (My real dataset has many thousands of vertices and edges).

A:

Update 2: There is a hidden option "VertexNames" for labeling vertices in GraphPlot (also works with LayeredGraphPlot and TreePlot):
verts = {"Aa", "Ba", "Ca", "Da", "Ea", "Fa"};

g1 = CompleteGraph[6, 
   VertexLabels -> {v_ :> Placed[verts[[v]], Center]}, 
   VertexSize -> Medium, ImageSize -> 400];

g2 = GraphPlot[g1, ImageSize -> 400, VertexLabeling -> True, "VertexNames" -> verts];

Row[{g1, g2}]

Note: In version 12.0+, you need to use GraphComputation`GraphPlotLegacy,GraphComputation`LayeredGraphPlotLegacy and GraphComputation`TreePlotLegacy for GraphPlot, LayeredGraphPlot and TreePlot, respectively.
Original answer:
You can modify your VertexRenderingFunction using Text[verts[[#2]], #1] instead of Text[#2, #1]:
verts = {"Aa", "Ba", "Ca", "Da", "Ea", "Fa"};

g1 = WeightedAdjacencyGraph[SparseArray[{{i_, j_} /; (i != j) -> 1}, {6, 6}, \[Infinity]], 
   VertexLabels -> Thread[Range[6] -> verts], ImagePadding -> 20, ImageSize -> 400];
g2 = GraphPlot[g1, ImageSize -> 400,  VertexRenderingFunction -> ({White, EdgeForm[Black],
   Disk[#, .1], Black, Text[verts[[#2]], #1]} &)];
Row[{g1, g2}, Spacer[10]]

or, using Text[#2 /. PropertyValue[g1, VertexLabels], #1]
g3 = GraphPlot[g1, ImageSize -> 400, VertexRenderingFunction ->
   ({White, EdgeForm[Black], Disk[#, .1], Black, 
      Text[#2 /. PropertyValue[g1, VertexLabels], #1]} &)]

Update: Unless you have special reasons to use GraphPlot, you can achieve the same results using Graph:
wam = SparseArray[{{i_, j_} /; (i != j) -> 1}, {6, 6}, \[Infinity]];
WeightedAdjacencyGraph[Labeled[#, Style[#, 24, "Panel", Background -> None], Center] & /@ verts, 
      wam, VertexSize -> Large]

or
WeightedAdjacencyGraph[wam, VertexSize -> Large,
 VertexLabels -> Thread[Range[6] -> 
   (Placed[Style[#, 24, "Panel", Background -> None], Center] & /@ verts)]]

gives

