Comments (8)
Absolutely! It's a welcome to-do list. I'm trying to salvage what can be salvaged atm, but I'm not familiar at all with this add-on, so it's baby steps for me.
If you can at least catch the error and add a line or two in the docs regarding the issues, it would be great to have such a PR! We are currently not aiming at supporting many things, but making the existing codebase work without errors. 😁 Then we'll go from there.... hopefully. 🤞
from orange3-network.
Please note that this add-on is highly unmaintained. If you'd care to contribute some fixes, we would highly appreciate it!
from orange3-network.
Totally understand that, I just like to report the issues I stumble upon to point to possible future work and to document existing issues. Usually that can be helpful :)
from orange3-network.
The problem for both points seems to be in trying to naively sort the nodes: https://github.com/biolab/orange3-network/blob/master/orangecontrib/network/widgets/graphview.py#L317
Which in case of mixed nodes throws something like
Traceback (most recent call last):
File "/Users/zanderle/Projects/orange3/Orange/canvas/scheme/widgetsscheme.py", line 822, in process_signals_for_widget
handler(*args)
File "/Users/zanderle/Projects/orange3-network/orangecontrib/network/widgets/OWNxExplorer.py", line 502, in set_graph
self.view.set_graph(self.graph, relayout=False)
File "/Users/zanderle/Projects/orange3-network/orangecontrib/network/widgets/graphview.py", line 313, in set_graph
for v in sorted(graph.nodes()):
TypeError: unorderable types: Graph()
from orange3-network.
Does it work without the sort? If Graph()
isn't hashable, it will fail at least three lines further below.
Based on NetworkX package, I would expect to be able to
Orange3-Network uses NetworkX, as in by composition. It doesn't extend it.
- use another graph as a node
How do we visualize this? How are items (data instances) assigned to and computed from such nodes?
from orange3-network.
Haven't tested this further, so I'm not sure whether it works without the sort or not.
Orange3-Network uses NetworkX, as in by composition. It doesn't extend it.
That is not clear from the documentation in the code (below). Would be great if it was explicitly stated how it can/can't be used.
The reference in this section is complemented with the original NetworkX
library reference. For a complete documentation please refer to the
NetworkX docs <http://networkx.lanl.gov/reference/>
_. All methods from the
NetworkX package can be used for graph analysis and manipulation. For reading
and writing graphs refer to the Orange.network.readwrite docs.
How do we visualize this? How are items (data instances) assigned to and computed from such nodes?
Not sure, but I don't see why it couldn't be treated like any other node.
Bottom line: maybe it's not a bug, but at the very least it's a documentation bug.
from orange3-network.
@zanderle I didn't really understand point 1. However, the widget has been reimplemented from scratch. Please see if if works as intended. Suggestions welcome.
Point 2 is something we won't have because it doesn't fit into Orange. We also haven't met anybody who would need such hierarchy of networks. To me it sound more like "collapsing" (hiding) some parts of networks.
from orange3-network.
@janezd to be honest, I can't recall what the issue was either. I've used this add-on only once for a class and it's been a while. I might try it out again, but it will take me a while :)
All I can remember is that the documentation referenced this:
For a complete documentation please refer to the
NetworkX docs http://networkx.lanl.gov/reference/_. All methods from the
NetworkX package can be used for graph analysis and manipulation.
But the add-on didn't actually implement some things in the same way. So if you look into the documentation for NetworkX it shows how you can use different types for node labels (you can mix strings and ints for example). Similarly, you could also create a graph of graphs (point 2).
https://networkx.github.io/documentation/networkx-1.10/tutorial/tutorial.html#nodes
Not saying that the add-on should implement all of this in the same way. But If it doesn't then the problem was that the documentation was misleading.
That being said, I can't find any of this in add-on's current documentation, so I guess that solves the problem :) So from what I can tell (and this may not be 100% correct, because like I've said it's been a while), this issue can be closed.
from orange3-network.
Related Issues (20)
- Increase Network Clustering Algorithms with CDLib
- Inclusion of More Centrality Measures and Internal Indices
- Inclusion of Node Embedding Algorithms
- Network Explorer: crashes mid optimization
- TypeError: 'float' object is not subscriptable
- No help/documentation on Network widgets HOT 2
- Network From Distances Widget Crashes when threshold is changed HOT 2
- Documentation for Embeddings
- Network_Analysis_Widget
- [Feature] show edge labels HOT 8
- Network From Distances window is too small and not resizable
- Network from distance property dialog do not maximize HOT 3
- Network Explorer should remember the vertex coordinates in settings
- Network Explorer: Manual moving of points
- Invalid .net file in network collection HOT 1
- Network Explorer: crash on connection HOT 2
- Network Explorer: remaining subnetwork info doesn't get cleared HOT 1
- [FR] Network Explorer: add option to filter on exact node name
- Network file crashing when loading HOT 1
- Add documentation for Network from Distances and From Neighbours
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orange3-network.