홀덤사이트Paris Sportif CryptoTous Les Sites De Paris Sportifs BelgiqueMeilleur Casino En Ligne BelgiqueCasino Sans Documents

Entries from July 1, 2009 - July 31, 2009

Wednesday
Jul292009

A List of Tools for Automatic Graph and Diagram Layout

Creating diagrams and graphs programmatically is one of passions. Below is a set of links you may find useful if you want to incorporate these techniques into your own applications. Where possible I’ve added licensing information.

 

GraphViz

http://www.graphviz.org/

Made by: ATT

License: Open Source CPL

Notes: GraphViz is a set of native (unmanaged) applications (dot.exe, neato.exe, etc.). Using them from a .NET language means calling an EXE with text input and text output.

Diagram.NET

http://www.dalssoft.com/diagram/

http://code.google.com/p/diagramnet/

License: Apache License 2.0

Microsoft Automatic Graph Layout

http://research.microsoft.com/en-us/projects/msagl/default.aspx

License: commercial (license is about $300)

Notes: I’ve used this in my projects – relatively easy to use and produces great results.

July 2009: there’s a limited time promotion code for purchasing a license for only $99

ILOG Diagram for .NET

http://www.ilog.com/products/diagramnet/

License: commercial

Flare

http://flare.prefuse.org/

License: BSD

UbiGraph

http://ubietylab.net/ubigraph/

 

Omnigator

http://www.ontopia.net/omnigator/models/index.jsp

 

aiSee

http://www.aisee.com/

 

Graph#

http://www.codeplex.com/Wiki/View.aspx?ProjectName=graphsharp

 

Circos

http://mkweb.bcgsc.ca/circos/

License: GPL

 

Pajek - Program for Large Network Analysis

http://pajek.imfm.si/doku.php

http://vlado.fmf.uni-lj.si/pub/networks/pajek/

 

Cytoscape

http://cytoscape.org

 

Piccolo

http://www.cs.umd.edu/hcil/piccolo/index.shtml

 

Data Visualization Components from Microsoft Research

http://research.microsoft.com/en-us/downloads/dda33e92-f0e8-4961-baaa-98160a006c27/default.aspx

License: commercial

 

Treemaps

http://www.cs.umd.edu/hcil/treemap/

http://www.cs.umd.edu/hcil/photomesa/download/layout-algorithms.shtml

Squarified Treemaps in XAML & C# using Microsoft Longhorn - http://www.codeproject.com/KB/recipes/treemaps.aspx

 

QuickGraph

http://www.codeproject.com/KB/miscctrl/quickgraph.aspx?display=Print

License: zlib/png license

 

NodeXL

http://www.codeplex.com/NodeXL

Wednesday
Jul152009

Visio: How to resize a page interactively (with your mouse)

A perquisite of working at Microsoft is serendipitous discovery of tips & tricks for applications one uses everyday.  Today was a discovery about Visio and how to quickly resize pages.

Let me account for my scenario as follows: I often draw large, sprawling diagrams and invariably achieve a state where I simply have more shapes on the screen than can fit conveniently fit on the page. In other words …

image

HOW I NORMALLY RESIZE THE PAGE

What I used to do was simply resize the page to fit the contents.

The manual way to do this is to go to File > Page Setup

image

Then clicking on Page Size tab

image

Then clicking on Size to fit drawing contents

image

After which, you will see that the preview has changed …

image

And then click OK

image

And finally the page has now grown bigger to fit all the shapes

image

This still leaves me with a couple of problems

  • It removes excess space that I *wanted* – you’ll notice that the two upper rectangles are now at the edge of the page
  • As a consequence, I has to manually add more space to page using the same dialog
  • Also the shapes have been somewhat shifted off the grid  - it’s hard to see this in the image but if you compare to where the shapes where before the page resize you’ll see a slight change

A BETTER, INTERACTIVE WAY

We start with the original drawing

image

Remember my goals:

  • I want to preserve the distance that the two upper rectangles have from the page edges
  • I want the bottom rectangle completely on the page
  • I want some extra spacing from the bottom rectangle to the page edges
  • I don’t want to launch the Page Setup dialog
  • I want the shapes to preserve their alignment on the grid

So first move the mouse somewhere you can see it at pay attention to what it looks like

image

OK, it’s a pointer.

Now Press and Hold Down the CTRL key and …

image

OK, it’s still a pointer … but now move the mouse to the bottom edge of the page (keep holding CTRL down)

image

And you’ll see the mouse pointer looks different indicating that you can grab the edge. Keep holding down CTRL and click with the ledft mouse button and then move the mouse down as far as you want.

image

The dashed indicate the new page size. Now just release the mouse button and the page be set to the new size.

 

 

 

 

 

 

 

 

 

 

 

 

 

image

And you can follow the same procedure for the right edge …

image

And then you’ll have this… a resized page without any excessive trips to the Page Setup dialog.

image

 

Wasn’t that nice?