After one round, I still returned to the visualization of my dream.
After nearly a week of hard work on gephi + netbeans, I deeply realized that I still have room for improvement in the code control capability ^ _ ^. The road is long and the direction is very important.
The previous research experience of the week is as follows:
1. As an entry-level cainiao in the visual direction, relying on a person to get off the gephi, a relatively mature software source code, has a sense of balance and lack of strength.
2. gephi is an excellent visualization software, derived from its excellent framework design and code writing. The entire project is developed based on netbeans platform and is interface-oriented. The coupling between modules is low, reflecting the idea of High Cohesion and low coupling.
3. He tried to win gephi through modules such as welcome screen, UI components, project API, import API, Graph API, and layout API. In the end, however, they all fall into the "tasteless" dilemma.
Of course, some like-minded people were also recognized during the period to discuss and exchange experiences with each other.
Start other projects after a while. Recently, I have returned to visualization again. I decided to broaden my horizons first, so as to make the three products arrive at the same time, and abandon the road of losing my mind and seeing you again. Here are some software introductions I have seen in recent days and my summary: (Note: My goal is to find an open source software, preferably a Java-based software, library, and plug-in)
1. pajekIt is free but not open-source. Because it is equipped with both the r Software interface and the SPSS software interface, combining the data exploration function of pajek with The statistical function of the r Software has basically met the application requirements of the network analysis technology.
2. netdrawGenerally, it is used for visual operations, while ucinet is generally used for center analysis, cluster analysis, core and edge analysis, location and role analysis, etc, now, the ucinet software has integrated the netdrow visualization tool, which performs Network Analysis in ucinet and Visualization in netdrow.
3. ucinetThe Network Analysis integration software includes netdraw for one-dimensional and two-dimensional data analysis, and mage for developing applications. It also integrates the free application program of pajek for large-scale network analysis. Ucinet can be used to read files in text files, krackplot, pajek, negopy, VNA, and other formats. It can process 32 767 network nodes. Of course, from the actual operation, when the number of nodes is between 5000 and ~ Between 10000, the running of some programs will be very slow.
Social network analysis includes center analysis, subgroup analysis, role analysis, and replacement-based statistical analysis.
4. nodexlIs very simple to use. It is installed as an Excel template. After the installation is complete, open Excel and create an xls document based on nodexlgraph. The highlighted feature is that images can be used as the vertex of an image. This brings great flexibility.
With a few clicks, we can easily process data in batches: sort, filter, and draw various charts without considering how to write code and handle GUI events. It is worth mentioning that nodexl also supports multiple input formats. In addition to simple copy and paste, it can also directly import popular ucinet and graphml format files, or the simplest adjacent matrix. It even provides the option to automatically collect data on Twitter and Flickr and draw charts.
Of course, nodexl also provides high programmability. In. net, we can conveniently call all the functions embodied in Excel. In fact, the Excel template is just a wrapper.
5. PythonYou can also do visual programming, but the screen is relatively rough and the interaction is weak.
6. rVery powerful. Why do we need to learn other tools? Why not simply use R to do everything? The reasons are as follows: R runs on your desktop, so it is not suitable for dynamic web pages. It is not a problem to store images and publish them to webpages, but this process will not be completed automatically. You can also use web pages to dynamically generate images. However, up to now, this function of R is not very powerful and cannot be compared with web-based native tools such as JavaScript. R is not particularly good at creating interactive graphics or animations. Similarly, although R can also be used, there are other more convenient ways, such as flash or processing.
7. ProcessingThe initial goal was to develop a sketchbook and environment for graphics to visually teach the basic knowledge of computer science. Later, it gradually evolved into an environment that can be used to create a professional graphic visualization project.
Processing is written in Java programming language.
The website lists more than 50 visualization tools, including the language, development environment, organization, and open source of each tool. http://selection.datavisualization.ch /.
Java is used to develop: cytoscape, gephi, many eyes, openrefine, prefuse, processing, and unfoldind. Another important tool is R.
8. cytoscape:
Cytoscape is an open source software platform for visualizing molecular interaction networks and biological pathways and integrating these networks with annotations, gene expression profiles and other State data. although cytoscape was originally designed for biological research, now it is a general platform for Complex Network Analysis and visualization. cytoscape coredistribution provides a basic set of features for data integration, analysis, and visualization. additional features are available as apps (formerly calledplugins ). apps are available for network and molecular profiling analyses, new layouts, additional file format support, scripting, and connection with databases.
Cytoscape is an open-source visualization software that can be used to draw a network map that integrates a modular network and biological sciences. Although originally designed for biological research, it can now be used for analysis and visualization of complex networks. It can also extend its own functions through plug-ins.
Some of the source code of cytoscape can be downloaded in the https://github.com/cytoscape/cytoscape-impl. ------ Some source code is available (the source code is available on GitHub)
9. receiveyes:
IBM, with very little information...
10. openrefine:
Previously, it was supported by Google and transferred to volunteers for maintenance from March 13, 2012. It can clean data and convert one data format to another. Openrefine supports a variety of web services data
Openrefine: the free open-source data cleansing tool is a tool that helps you convert datasets and optimize data quality for ease of use in real scenarios. Your data is messy. Errors will walk to your big data set. No matter how careful you are, errors always exist. The larger the data size, the more errors. Correct and clear understanding of the above situation, so there is a saying about data quality.
Openrefine is such an IDT tool that can observe and manipulate data. It is similar to the traditional Excel table processing software, but it works more like a database, in the form of columns and fields, rather than cells. This means that openrefine is not only suitable for encoding new row data, but also very powerful.
Therefore, it emphasizes data cleansing, filtering, analysis, and other functions, and visualization is not prominent.
Openrefine (formerly Google refine) is a powerful tool for working with messy data: cleaning it; transforming it from one format into another; extending it with Web Services; and linking it to databases like freebase.
Please note that since October 2nd, 2012, Google is not actively supporting this project, which has now been rebranded to openrefine. project development, documentation and promotion is now fully supported by volunteers. find out more about the history of openrefine and how you can help the community. ------ the source code is available (the source code is available on GitHub)
11. prefuse:
Prefuse is a set of software tools for creating rich interactive data visualizations. The originalPrefuseToolkit provides a visualization framework for the Java programming language. The prefuse flare toolkit provides visualization and animation tools for ActionScript and the Adobe Flash Player.
Prefuse supports a rich set of features for data modeling, visualization, and interaction. it provides optimized data structures for tables, graphs, and trees, a host of layout and visual encoding techniques, and support for animation, dynamic queries, integrated search, and database connectivity. prefuse is written in Java, using the Java 2D graphics library, and is easily integrated into Java swing applications or web applets. prefuse is licensed under the terms of a BSD license, and can be freely used for both inclucial and non-inclucial purposes.
Prefuse is a data visualization tool developed in Java. It supports rich data models, visualization, and interaction features, with tables, tree shapes, a series of la S and animations. Prefuse uses Java 2D graphics library programming, which can be effectively integrated into Java swing applications and applets, and is free to use. ------ The source code is available (the source code is available on GitHub)
12. unfolding:
Unfolding is a library to create interactive maps and geovisualizations in processing and Java
Unfolding is a visualization library that can draw interactive maps and inherit from processing and Java (eclipse. ------ The source code is available (the source code is available on GitHub)
13. Tableau public:
Tableau public is a desktop visualization tool that allows you to create your own data visualization and publish data visualization to a Web page. JS is used for development. Currently, it can only be used on Windows platforms. Although it is free to use, most of them focus on the display of charts, and the display capability of social networks is average.
14. R:
The r language is the language used for statistical analysis and plotting and the operating environment. It can be combined with hadoop distributed computing.
Through the example given on the http://blog.sina.com.cn/s/blog_891b79fe01015oxw.html web page, we can see that r also supports graphical display, interactive and there are several layout methods. The Code is as follows:
1 library(igraph) 2 3 load("C:\\Users\\Administrator\\Desktop\\termDocMatrix.rdata") 4 5 termDocMatrix[5:10,1:20] 6 7 termDocMatrix <- as.matrix(termDocMatrix) 8 9 termDocMatrix[termDocMatrix>=1]10 11 termMatrix <- termDocMatrix %*% t(termDocMatrix)12 13 termMatrix[5:10,5:10]14 15 g <- graph.adjacency(termMatrix, weighted=T, mode = "undirected")16 17 g <- simplify(g)18 19 V(g)$label <- V(g)$name20 21 V(g)$degree <- degree(g)22 23 set.seed(3952)24 25 layout1 <- layout.fruchterman.reingold(g)26 27 plot(g, layout=layout.kamada.kawai)28 29 tkplot(g, layout=layout.kamada.kawai)
To execute this code, you must first load the igraph package and use Install. Packages ("igraph.
I will not discuss the brilliant icons and powerful display effects of each software. You can go to your website to learn about them, or use http://selection.datavisualization.ch/to get an answer.
Visual tool solo show