views:

100

answers:

5

I alawys noticed some very good graph in article or book that depict the system very well, almost every successful book has cool graphs. but I wonder thow they are drawn.

The graphs include:

  1. memory/stack/packet
  2. network topology
  3. routine call relationship
  4. software architecture
  5. process sequence.

I do not think they are from visio or some UML tool, so I wonder if they are mannually created or some commercial sofware I do not know for documentation.

I think this is programming related question, since every developer need to learn how to express his idea well, also this may involve script writing.

+1  A: 

For very simple stuff Word 2007 can generate some very nice looking "flow charts" and stuff.

There is a ton of software out there for this kind of stuff though. I don't have any to recommend off the top of my head though.

Max Schmeling
+3  A: 

graphviz is a good tool for graph visualization. It won't cover all the fields of your question, but, for example, for function call/flow charts or database relation models, it can produce very good-looking publishing-quality results.

It's especially loved by TeXnics for a good integration with LaTeX (in both directions).

drdaeman
@drdaeman, I tried it, but it is more like a toy, not so cool
arsane
+1  A: 

A friend of mine wrote a command-line program at the past called DITAA which converts plain ASCII art to nice diagrams. You can Find the page here

I used it at the past by integrating it in a Wiki so i could embed ascii diagrams in the pages and DITAA converted them to good looking image diagrams :-)

Bad Sector
+1  A: 

There are several good tools available. My personal preference is to not spend time tweaking the diagram, but to automatically generate diagrams from sources, data files, static analysis extracts, etc. For that, I second @drdaeman's recommendation for graphviz. It's far from a toy; there's a lot of capability buried in there. Trouble is, there aren't a lot of great tutorials about how to make attractive graphs with it.

If you really need to do manual diagramming of visual structures, I like OmniGraffle. It's quite pleasant to use and it provides a lot of assistance for mundane tasks like spacing and alignment. You can also import the ".dot" files that graphviz uses into OmniGraffle, which is a nice synergy.

For charts, I really like gnuplot and Mathematica. (One is free, one is... decidedly not.) Gnuplot, like graphviz, doesn't produce very attractive outputs by default, but it can be coaxed into pretty output with some parameter tweaking. Check out the demo scripts to see what's possible.

There's also a new tool from the Omni Group (makers of OmniGraffle) called OmniGraphSketcher. I haven't used it, but the output I've seen is impressive. (I swear I don't work for Omni Group! I just like their tools.)

If you're generating charts from code, you might also take a look at Incanter. It's a combination of statistics and rendering, driven from Clojure programs.

mtnygard
+1  A: 

On os x, omnigraffle is an excellent tool that produces great graphs and diagrams. Beyond that, I'm usually able to whip up something good with powerpoint.

If you're looking for a good open source tool, Inkscape is excellent on linux.

stran