|
|
NetDraw
Introduction NetDraw is free and may be freely distributed. For more information about the program, contact its author, Steve Borgatti, at steve@analytictech.com or +1 978 456 7372. NetDraw is a program for drawing networks. It uses (or will use) several different algorithms for laying out nodes in 2-dimensional space (3D will come later). Netdraw reads UCINET system files, UCINET DL text files, and Pajek text files (.net, .clu and .vec). It can save data to Pajek and to Mage. It can save diagrams as EMF, WMF, BMP and JPG files. It can also print directly from the program at high resolution (much better than printing document containing embedded graphics). The program has a number of useful features, including: Multiple Relations. You can read in multiple relations on the same nodes, and switch between them (or combine them) easily. Valued Relations. If you read in valued data, you can sequentially “step” through different levels of dichotomization, effectively selecting only strong ties, only weak ties, etc. In addition, you have the option of letting the thickness of lines correspond to strength of ties. Node Attributes. The program makes it convenient to read in multiple node attributes for use in setting colors and sizes of nodes (as well as rims, labels, etc.). In addition, the program makes it easy to turn on and off groups of nodes defined by a variable, such as males or members of a given organization. [In addition, there are buttons for deleting isolates and pendants.] Analysis. A limited set of analytical procedures are included, such as the identification of isolates, components, k-cores, cut-points and bi-components (blocks). 2-mode Data. NetDraw can read 2-mode data, such as the Davis, Gardner and Gardner data and automatically create a bipartite representation of it. Saving Pictures. Network diagrams can be saved as bitmaps (.bmp), jpegs (.jpg), windows metafiles (.wmf) and enhanced metafiles (.emf). In addition, the program exports to Pajek and Mage. Printing. There is a Print button. This is very good for creating publication-quality diagrams because the results utilize the full resolution of the printer. (When you save an image like a bitmap to disk and insert into a document and then print that, the image resolution is no better than your screen’s.) Appearance Options. A full range of options is implemented, including the ability to change sizes and colors of nodes, node-rims, labels, lines and background. Different node shapes are not yet implemented. You can also rotate, flip, shift, resize and zoom configurations. Layout. Two basic kinds of layouts are implemented at present: a circle and an MDS/ spring embedding based on geodesic distance. The MDS includes options for exaggerating clustering, biasing toward equal-length edges, and turning on/off node-repulsion.DocumentationThere is no documentation yet, nor online help. But the whole idea of the program is that it should be easy to figure out. For those users who do not use UCINET or Pajek, however, here is some documention on the DL text file format for reading data in. The DL protocol is a flexible language for describing data and itself encompasses a number of different formats. Three of these formats – nodelist, edgelist and fullmatrix – are described here. A sample nodelist file called borg4cent.txt is provided with the program. Nodelist Format This is usually the most efficient format. Just create a text file using any word processor (make sure to remember to save as text). Enter the data in the following format: dl The "DL" at the top is required and identifies the type of file. The "n=50" tells program to expect up to 50 distinct nodes. The "format = nodelist" tells the program to expect the node list format (as opposed to edge list and full matrix). The word "data:" (don't forget the colon) marks the end of information about the data and the beginning of the data itself. The first line of the data ("1 7 8 2") says that person 1 has ties to three people, who are 7, 8 and 2. The ordering of the people is arbitrary and makes no difference. The second line, "3 19 21 49 6" says that person 3 has ties to four people, who are 19, 21, 49 and 6. Important note: each value is separated by a space (or tab). Each value is a "sequential" ID number. By "sequential" I mean that the numbers run from 1 to n. You can't have arbitrary ID numbers like "1001" or non-numeric IDs like "BOS007" or "Steve" unless you add the words "Labels embedded" some time before the "data:" statement, as follows: dl These names or labels must be less than 20 characters long and should not contain spaces or punctuation (as in "osama bin laden") unless they are enclosed in full quotes. A sample data file called borg4cent.txt using nodelist format is provided with the program. Edgelist Format This format requires more typing but is convenient when entering data as one encounters it, such as when pulling links between people from newspaper articles. Again, create a text file using any word processor (make sure to remember to save as text). Enter the data in the following format: dl Note that "nodelist" has been replaced by "edgelist" in the format statement. Then, after "data:", the data are in pairs, separated by spaces or tabs. The first line ("1 7") says that persons 1 and 7 have a tie. The second line says that persons 1 and 8 have a tie. The ordering of nodes within in a pair, and of pairs within the file, is immaterial. As with the nodelist format, you can also use non-sequential, non-numeric IDs as long as you add the words "Labels embedded" some time before the "data:" statement, as follows: dl FullMatrix Format This format works well for small datasets that contain a lot of ties. Again, create a text file using any word processor or with Excel (making sure to remember to save as text). Enter the data in the following format: dl Here, the format statement reads "format=fullmatrix". Then, after "data:", the data are in the form of a person-by-person table. Since n=5, there are 5 rows and 5 columns. The first row has values 0, 0, 1, 0, 0, indicating that person one has ties only with the third person. In contrast, the second row of the table shows that person 2 has ties with person 4 and person 5. Note that this format does not have id codes at all: people are identified by their position in the table. The third row corresponds to the third person. The fourth column corresponds to the fourth person, and so on. However, non-numeric labels can be added with "labels embedded" statement as follows: dl Typing the data is the hardest part. Once you do that, the rest is easy. VNA Data Format The VNA data format allows the user to store not only network data but also attributes of the nodes, along with information about how to display them (color, size, etc.). A key feature of VNA attribute data is that textual data is permitted. In other words, instead of using numeric codes, the gender variable can have values like “male” and “female”. VNA files are ordinary text files. They consist of sections “star sections”. Not every file has to have every section, and sections can be in any order. At the moment, there are 4 possible star sections (soon to be 6). They are: *node data A description of each follows. At the end of this document is a complete VNA file. Node data The Node Data section contains variables that describe the actors in a network. Here is an example:
The first line (“*node data”) identifies the section as containing node data. The line following “*node data” is a list of variable names. The first variable is assumed to be a unique identifier. It can be numeric or text, as long as each node has a distinct value. If any value (for any variable) contains spaces or other extraneous punctuation, it should be enclosed in full quotes, as in: “John Barrymore” Following the line of variable names is the actual data corresponding to those variables. All following lines are assumed to be node data until a new star command is read or the end of the file is reached. Node Properties The node properties section, which is often omitted, is very similar to the node data section, except that the variables all refer to display characteristics of the nodes, such as size, color, and shape. Here is an example:
As before, the first line (“*node properties”) identifies the section as containing node properties. The line following “*node properties” is a list of variable names. Aside from the first variable, which must be ID, all the other variables can be in any order, and none of them have to be there at all. But if they are present, they must be named exactly as shown in the example. Variable “X” is the horizontal coordinate of a node. Variable “Y” is the vertical coordinate (the 0,0 point is the top left corner of the drawing area). Variable “Color” is the color of the node (in hexadecimal). Variable “Shape” is the shape of the node (circle, square, up-triangle, etc.). Variable “Size” is the size of the nodes in points. Finally, (not shown in the example), the variable “Shortlabel” gives the label for each node (if not given, the program uses the ID code). Following the line of variable names is the actual data corresponding to those variables. Tie Data The Tie Data section contains dyadic data – the presence/absence or strength of tie among pairs of nodes on one or more relations. Here is an example:
The second line contains the list of dyadic variables (relations), except that the first two variables are necessarily called “from” and “to” and identify the nodes that are tied. In this example, there are two relations (called “isfriend” and “strength_of_tie”). Following the variable names are the actual ties. A data line such as “Holly Pam 1 1” indicates that Holly talks to Pam and their relationship has strength 1. Values of zero are assumed to indicate the absence of a tie on a given relation. Putting it all together Not all possible sections need to be in a given file – just one will do. Here is an example of a file with all sections:
Technical Support Feel free to contact me ( steve@analytictech.com; +1 978 456 7372) for help or to report bugs or to make suggestions for improvements.
|
|
PO Box 910359, Lexington, KY 40513 USA. Tel: +1 859 881 9906. Fax: +1 859 881 9906. E-mail: sales@analytictech.com; support@analytictech.com |