Open source libraries to design directed graphs [closed] - user-interface

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm going to need to write a program that takes a list of persons and connects them together in a directed-graph-like manner. The GUI aspect of the whole project is very important. The graph must allow a lot of interaction. Such as selecting several people and hiding the others, moving them around.
Additionally, the software will need to be able to provide other kind of GUI-features such as several tabs, text boxes etc.
The application must be quite efficient. As in, it must be able to handle hundreds if not thousands of widgets.
Hence, I would like to know which open source libraries (at this point the programming language they are written in does not matter - I just want an overview of everything good that is out there) would allow me to develop such piece of software? What would you recommend?
Edit: Could you please also link to tutorials explaining how I could program a GUI that can interact with the generated graph? For example mouse events.

How about JGraphT in combination with JGraph.
Check here for a simple demo with basic interaction

Take a look at Graphviz, especially its lefty component. It should satisfy your needs.
http://en.wikipedia.org/wiki/Graphviz

Depending on your actual goal and needs, you might consider taking a look at processing.org. The site has many demos and like many other libraries, it is free. Using Processing does not require you to learn much. It is similar to Java and written in Java, but allows you to ignore much of the Java structure and code and just do what you want.
Since you mentioned that you would want to use x or y to code in, it sounds like you have not made a language decision, so this might be worth your time. Spend 15 minutes there and look at the demos to see if it provides what you are looking for. If speed to a single solution is one of your criteria, this might do it.

You might want to have a look to Dynagraph.
EDIT: An article presenting Graphviz and Dynagraph is available here.

My first thought was ILOG Views (for Java, .Net, C++), now owned by IBM, but their pricing is rather steep. My second thought would be yFiles (for Java or .NET), perhaps in conjunction with yEd (Java only).
If that still doesn't cut it, have a look at the alternatives on this list (rather unsorted, some tools are not open source, others won't suit you for other reasons).

Related

Can I find another course similar to this UC Berkeley course [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I have been looking online to learn how the current crop of web applications manage their data, on both the server side and client side.
Like, I'm intrigued by Google Suggest, personal recommendations based on my "likes", etc.
So, while I searched for content where I could learn such data structures and algorithms, I came across this course provided by UC Berkeley - http://extension.berkeley.edu/cat/course460.html
The description of this course matches exactly with what I really want to learn.
Study the algorithms that provide the
power behind many of the most
effective Web applications. Where do
the phases come from for lists like
Google suggests? What techniques can
generate personal recommendations? How
do social networking, mash-ups, and
mixed-media sites select and
categorize similar groupings of binary
content? In this course, you gain a
solid understanding of current
algorithms and data structures for
search, recommendations, groupings,
classifications, and combinations of
classifiers.
However, there seems to be no way to find more details about this course.
Can someone here help me find a book / online course / site where I could learn more on this subject ?
Rex Griffiths and I just launched a video podcast about all this stuff this week. You can find it over at http://StatCasts.com. We should bring along the funny as well as teach something. You can follow us on twitter (#StatCastsCom), where we try to link to cool things we're seeing on this front in real time, or just go to the show. We'll have a lot of links for other people's stuff. Plus, Rex and I are both active developers and have quite a bit of open source software that we give away for this kind of thing.
There is the Stanford Course on Machine Learning which is really interesting, but a little hard to follow without some of their offline discussion.
Outside of courses, you could look at software packages or books and the communities that surround them. They tend to fill in the gaps about this sort of thing. So, here's a list of some what's out there:
Mahout, a machine learning library for Hadoop. There's a Manning book out on this as well. This is a good solution if you want to learn how to do this stuff with Big Data.
Modeling with Data, a great book by Ben Klemens who works at the Brookings Institute and explains a really good foundation for this kind of thing.
Weka and a book called Data Mining. This is a great way to get involved without getting lost. Weka has an easy-to-use interface that isn't much harder than a spreadsheet to use.
The R language is an amazing place to go for this kind of thing. You'll usually find anything analytical you want to do in this package. I have a few books kicking around here for that. The R Book is my favorite, though it's a bit expensive.
Octave is the GNU response to MatLab (commercial software). They both have incredible resources behind them.
I think Ben Mabey put together a pretty good pinboard full of good teaching links for this kind of thing.
Finally, my stuff is Fathom, an open source framework for solving these kinds of problems and http://openmobi.us, a website that implements the Fathom library for people that want to get straight to it. With those projects, I'm trying to make it easy for people to get involved with building their own models and using them for their businesses or education.

What is the best way to break down and follow project progress? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
Hi
When i wanna start a new project, I have enough details to just start it. And as all programmer needs, I need to analyse that project to understand how to write codes and classes and relations between them...
Normally, I do it on so many papers and its really annoying and also I can't consentrate so good (in huge projects).
I wanna know, what is the best way (or tool) to write implementation and designing steps to analyse, break down and follow project progress?
Thanks
I strongly recommend PowerDesigner from Sybase.
You can build requirements documents and link each requirement to classes. You can generate a physical data model straight from your class model. It supports a wide variety of RDBMS's. There's a 15 day fully functional trial at the link above.
If the project is huge, there's plenty of budget for this tool. It's a lifesaver. The ROI is self-evident.
i suggest VS 2008 > Class Designer, a handy tool, it writes clases behind class diagram and also has tools to help analyze archtecture.
This is incredibly easy. Use yellow sticky notes on a white board or large sheet of white cardboard.
Treat each sticky note as a seperate process. For decisions trun the sticky note so it looks like a diamond. This way you can move them around until it's right.
You can also split a complicated sticky not into two or three sticky notes. If you know that something needs to get done but don't know what that something is simply write "Process goes here ask (Marketing or Compliance)"
I've used this many, many times and it's very cost effective.

making graphs with xCode [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Hi I need to graph some arrays to analyse signals, I have a cocoa project going. Can anyone tell me where I can find tools to simplify this task?
Basically i want to display my arrays like on a graphing calculator.
Even though it's a young library, I'd suggest looking at the open source Core Plot framework. It works on Mac and iPhone and can currently plot line and bar charts. As I said, it's young and a lot of the core functionality is still being written, but it might work right now for your case.
Take a look at this post to the Apple mailing lists. http://lists.apple.com/archives/scitech/2007/Jun/msg00022.html
It mentions 3 potential graphing packages that you can try. I have not had personal experience with them, so buyer beware, but it will at least give you a start on where to look.
XCode allows you to create data formatters to present object data in the debugger, but it doesn't provide any way to graphically represent the data using charts or graphs. (At least, not that I know of!) I think that's beyond the scope of XCode. You might consider dumping the data from your array to a file using a bit of code or the console, and then loading it into Excel or MATLAB. Then you can create a graph of your signal with no problem.
Just out of curiosity, are you familiar with another IDE that provides graphs of array data? I know tools like MATLAB and Mathematica do it pretty nicely, but I've never seen it in an IDE.

Are there any code DRYer tools out there? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I have a large code base and there is lots of repeated, or nearly repeated code all over the place, it's about as unDRY as code can get, but tracking the "duplicates" is hard, so I was wondering if there are any tools for finding potential DRYable code, something like a diff tool or a Hamming distance analizer, don't need language specific knowledge or anything like that.
So any clues as too a tool like this?
Clone Detective for Visual Studio
If you're working in ruby, then you can try this.
Duplo (open source) works in C, C++, Java, C# and
VB.Net. I tried it once, and it found enough duplicated code to keep me employed for a long time.
I've heard of Simian (commercial) but have not tried it.
I use Simian in VS. It's pretty good, not great.
Clone Dr from Semantic Designs is a commercial product that finds duplicate code in a large number of different programming languages. http://www.semdesigns.com/Products/Clone/index.html
Large companies can afford this product. Individuals ... not so much. I wish there were some open source projects out there like this. Might be a fun project to work on. If we only knew of a community of programmers with some time on their hands ...
Semantic Designs' CloneDR find exact and near-miss duplicate clones based on the langauge structure, so it isn't fooled by whitespace changes or line breaks, inserted/changed comments, or even modified variable names.
It leverages production parser front ends to work with C, C++, C#, Java, COBOL, PHP, Python, Fortran, Ada, ...
There are a number of example Clone analysis reports at the web site for various languages.

What is a good Graph Editor for MacOS? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I need some sort of node-graph editor, that hopefully works on both Mac and other platforms, to generate user created node collections with properties. The graph data will then be used in a data-driven application I'm working on, so kudos if the application can save the graphs in some easy to process format. So far I was using XML with a tree editor, but since the graphs can be cyclic according to the requirements, the tree editor no longer cuts it.
Plugins for other applications would also be ok!
GraphViz' graph drawing software is pretty much the best there is, cross-platform, with a very simple file format and lots of output formats. It is especially good in automatically calculating a layout for graphs. A GUI for OS X is available.
Have a look at Yed (http://www.yworks.com/en/products_yed_about.html), free to use but places a logo on all output.
It comes with Mac OS binaries .. and you might be able to include ($$ required) the graphing engine it is based on into your project.
I've used it (with limited success) to document enterprise data-flows..
You might want to do something with JHotdraw (at sourceforge). It is one of the design patterns demo projects converted from Smalltalk. It is (or was before it was put on sf) very well documented and easy to extend. A similar (but less well-documented) framework is GEF in Eclipse.
You can take a look at OmniGraffle: http://www.omnigroup.com/omnigraffle

Resources