Network Visualization
The Network Viewer Tool
The SharpNeat code library contains a GUI control for visualizing neural networks. This control is used within the the main SharpNEAT search program to show the current best genome (decoded to a network) and is also used on the species visualization screen. In addition to this the SharpNEAT package also contains a separate application called NetworkViewer. This is a standalone application that can load network XML saved from SharpNEAT and allows the user to view networks, zoom in/out and pan around large networks.

Layout Manager(s)
The network XML output by SharpNEAT is a functional definition of a network, it does not contain any layout information such as layer numbers (NEAT doesn't actually define layers as such). Therefore before a network can be displayed the neurons must be allocated a position, this is done with a layout manager. There currently exists one layout manager called the GridLayoutManager, this basically places all input and output neurons in their own single layers at the top and bottom of the display area (see above). The hidden nodes are then arranged using a best-fit algorithm in the space remaining between the two input and output layers. If there are a few hidden neurons then they will be placed into a single hidden layer (as above), if there are more neurons then they will be divided into multiple hidden layers.
There are other schemes that could be employed and these may become new layout managers in the future if the need arises.
Edit Mode / Planned Work
Currently the displayed network is view-only, however there is provision for editing, including dragging of neurons, adding/deleting of neurons and connections, and also hiding neurons and connections to allow the user to see sub-parts of a network with more clarity. If this functionality would be useful to you then you can contact me, I may be swayed into bringing this work forward :)
Alternative Visualization Tool [SVG]
An alternative way of visualizing networks is to use the NeuroEvolution Visualization Toolkit (NEVT) created by Derek James as part of the ANJI project. This toolkit can be used to generate SVG output from network XML. The network XML format accepted by NEVT is close enough to SharpNEAT's XML to be used unchanged. For more details on the XML formats in use see here.

