NetworkX allows you to store any data attributes you want on the graph.
And some of the function (e.g. shortest_path) allow you to use those attributes directly
in the computations. But the drawing tools don't directly access the values on the Graph.
We have been talking about possibly making it possible to use this behavior. But at the moment,
we follow the matplotlib style of providing the drawing functions with arrays/lists of values for the
attributes. For example, `node_size` could be stored in a node's data attribute "size". But the drawing
program asks for a list of node_sizes in the order that matches the nodelist order (usually the order
of nodes in the graph). To make this easier to manipulate, we provide functions `nx.get_node_attributes`
and its "set" partner. So, you could do something like this:
```python
sizes = list(nx.get_node_attributes(G, "size").values())
```