Efficient graph analysis algorithms
yFiles features
yFiles allows you not only to create, edit, display, and arrange graphs. There are also a number of analysis algorithms to determine common structural traits (such as connectivity, cycles, whether a graph is a tree and much more), pathfinding and reachability, clustering and centrality measures, graph traversals and many others.
Create interactive diagrams with yFiles, the network visualization library
The yFiles diagramming library supports every step, whether you are exploring its capabilities for the first time or developing a complete prototype. Hundreds of source code demos make it easy to get started or dive into specific use cases. Expert guidance from core developers ensures that challenges can be overcome efficiently.
Start visualizing complex networks and dynamic relationships today with yFiles!
Test yFiles free of charge
We´d love to help you. Reach out and we'll get in touch with you.
Your message has been sent.
Graph Characteristics
Examine graphs for common characteristics, such as whether a graph is cyclic or acyclic, connected, planar, or bipartite. You can also determine whether a graph has a tree or series-parallel structure, among other analyses.
View demoFinding Paths
yFiles offers a variety of algorithms for finding paths in graphs, whether it's the shortest path, paths between any two nodes, or chains within directed or undirected graphs. Path finding problems often occur in geographical applications, such as finding routes on a map.
View demoCentrality Measures
Centrality measures show the importance of each node in a graph. This can then be used, for example, to align nodes differently, or to mark their importance by their size or color. Centrality can be applied to social network analysis, such as finding the most influential people, or to other types of networks, such as finding key infrastructure nodes on the Internet.
View demoConnectivity and Reachability
yFiles includes algorithms to find connected components in a graph or to determine if a node is reachable from another node via an edge path. Such algorithms can be used in network analysis.
View demoClustering
Discover structures in a graph where certain nodes form a close relationship by applying clustering algorithms. This can be an interesting measure in social network graphs and many other domains.
View demoTransitive Closure and Transitive Reduction
Compute the transitive closure and reduction to receive direct reachability information for directed acyclic graphs.
View demoSpanning Trees
yFiles allows you to easily calculate a subgraph with the smallest set of edges needed to reach all nodes while also minimizing costs. These trees are used in the design of computer networks, telecommunication networks, and electrical grids.
View demoNetwork Flows
Solve classic network flow problems like maximum flow, minimum cost and maximum flow/minimum cut in networks in which edges have certain capacities and a flow moves via edges from source to sink nodes. Flow algorithms can be applied to many problems that involve networks, such as water supply, electricity, internet, or shipping, to improve the efficiency of the network.
View demoMore than graph analysis
Check out what else can be done with yFiles
yFiles provides rich visualizations for nodes, edges, labels, and ports along with options for styling selection and highlighting. If the desired visualization is not covered by the default ones, you can easily create completely custom visualizations.
yFiles also offers versatile interaction possibilities. Set up a complete diagram editor for creating and editing graphs, with just a single line of code. Of course, everything about the interaction can be extensively customized to your requirements, and if the built-in gestures don't suffice, it's easy to add custom interactions.
yFiles features efficient and highly customizable algorithms for automatic layouts. A variety of layout styles are included: Hierarchic, organic (force-directed), tree, orthogonal, circular, radial and series-parallel. Almost all aspects of each layout algorithm can be customized to fit a specific domain and use case.