# Plot a bunch of edges in matlab with per-edge color data

## Alec Jacobson

## December 19, 2016

Suppose you have a list of vertices `V`

(#V by dim) and a list of edges `E`

(#E by 2) indexing `V`

, then one hacky to draw all of these edges with *per-vertex* color data `DV`

(#V by 1) is to use `trisurf`

:

```
trisurf(E(:,[1 1 2]),V(:,1),V(:,2),V(:,3),'CData',DV,'EdgeColor','interp');
```

However, if you try to use this trick to draw *per-edge* color data `DE`

(#E by 1), you'll find that `'EdgeColor','flat'`

does not work. Instead you can explode you compact "mesh" of edges into individual edges and repeat you edge color data for each edge point:

```
trisurf(reshape([1:size(E,1),1:size(E,1)*2],[],3),V(E(:),1),V(E(:),2),V(E(:),3),'CData',repmat(DE,2,1),'EdgeColor','interp');
```