graph-drawing

circuit/block-diagram drawing

旧城冷巷雨未停 提交于 2019-11-29 12:45:45
问题 I'm looking for either algorithms or visualization tool for (nice) circuit/block-diagram drawing. I am also interested in a general formulation of the problem. By "circuit drawing", I mean the capability of exploring place & route for block-diagrams (rectangles) with I/O ports and their connections (wires). These block-diagrams can be hierarchical i.e some blocks may have some nested internal sub-structure etc. This topic is strongly related to classical graph-drawing, with the supplemental

How to get and set propertyitems for an image

♀尐吖头ヾ 提交于 2019-11-29 03:50:24
I'm trying to understand these two methods of the Bitmap or Image. One being .SetPropertyItem() and the other being .GetPropertyItem() . I'm completely confused as to the way the documentation says that I am to set a property item. From the Microsoft Documentation it is stating that we should choose a property item by an id of a property item that already exist in the image, give that property item a new ID, set the properties and then set the image property item with that retrieved property item. That is so weird, but what really gets me is that we cannot just set the id of the property item

tips for creating Graph diagrams

为君一笑 提交于 2019-11-28 20:43:42
I'd like to programmatically create diagrams like this (source: yaroslavvb.com ) I imagine I should use GraphPlot with VertexCoordinateRules, VertexRenderingFunction and EdgeRenderingFunction for the graphs. What should I use for colored beveled backgrounds? Edit Using mainly Simon's ideas, here's a simplified "less robust" version I ended up using Needs["GraphUtilities`"]; GraphPlotHighlight[edges_, verts_, color_] := Module[{}, vpos = Position[VertexList[edges], Alternatives @@ verts]; coords = Extract[GraphCoordinates[edges], vpos]; (* add .002 because end-cap disappears when segments are

How to draw a graph in PHP? [closed]

筅森魡賤 提交于 2019-11-28 18:21:11
Hey I want to draw a graph(Stdent mark distribution) in my site based on PHP. How can I do this? pChart is another great PHP graphing library. <? # ------- The graph values in the form of associative array $values=array( "Jan" => 110, "Feb" => 130, "Mar" => 215, "Apr" => 81, "May" => 310, "Jun" => 110, "Jul" => 190, "Aug" => 175, "Sep" => 390, "Oct" => 286, "Nov" => 150, "Dec" => 196 ); $img_width=450; $img_height=300; $margins=20; # ---- Find the size of graph by substracting the size of borders $graph_width=$img_width - $margins * 2; $graph_height=$img_height - $margins * 2; $img=imagecreate

Reducing the size (as in area) of the graph generated by graphviz

北城余情 提交于 2019-11-28 15:38:33
Does anyone have any general tips for reducing the size of a graph generated by graphviz (size as in area, not as in file size). I have a fairly large graph (700 nodes). I set a smaller font size for each node, but it seems to only reduce the font size and not the actual node size. Are there any attributes to reduce the overall amount of blank space in the graph also? Thanks! doug In my experience using graphviz to render graphs of that size (~ 700 nodes), minimal trial-and-error adjustment to this combination of attribute settings--some structural, some purely aesthetic--for all three objects

How to increase node spacing for networkx.spring_layout

风格不统一 提交于 2019-11-27 21:54:54
Drawing a clique graph with import networkx as nx .... nx.draw(G, layout=nx.spring_layout(G)) produces the following picture: Obviously, the spacing between the nodes (e.g., the edge length) needs to be increased. I've googled this and found this suggestion here: For some of the layout algorithms there is a scale parameter that might help. e.g. import networkx as nx G = nx.path_graph(4) pos = nx.spring_layout(G) # default to scale=1 nx.draw(G, pos) pos = nx.spring_layout(G, scale=2) # double distance between all nodes nx.draw(G, pos) However, the scale parameter does not seem to have any

How to get and set propertyitems for an image

不想你离开。 提交于 2019-11-27 17:47:09
问题 I'm trying to understand these two methods of the Bitmap or Image. One being .SetPropertyItem() and the other being .GetPropertyItem() . I'm completely confused as to the way the documentation says that I am to set a property item. From the Microsoft Documentation it is stating that we should choose a property item by an id of a property item that already exist in the image, give that property item a new ID, set the properties and then set the image property item with that retrieved property

tips for creating Graph diagrams

流过昼夜 提交于 2019-11-27 13:06:19
问题 I'd like to programmatically create diagrams like this (source: yaroslavvb.com) I imagine I should use GraphPlot with VertexCoordinateRules, VertexRenderingFunction and EdgeRenderingFunction for the graphs. What should I use for colored beveled backgrounds? Edit Using mainly Simon's ideas, here's a simplified "less robust" version I ended up using Needs["GraphUtilities`"]; GraphPlotHighlight[edges_, verts_, color_] := Module[{}, vpos = Position[VertexList[edges], Alternatives @@ verts];

How to increase node spacing for networkx.spring_layout

旧街凉风 提交于 2019-11-26 20:36:18
问题 Drawing a clique graph with import networkx as nx .... nx.draw(G, layout=nx.spring_layout(G)) produces the following picture: Obviously, the spacing between the nodes (e.g., the edge length) needs to be increased. I've googled this and found this suggestion here: For some of the layout algorithms there is a scale parameter that might help. e.g. import networkx as nx G = nx.path_graph(4) pos = nx.spring_layout(G) # default to scale=1 nx.draw(G, pos) pos = nx.spring_layout(G, scale=2) # double

Graph nodes coordinates evaluation [closed]

有些话、适合烂在心里 提交于 2019-11-25 23:14:51
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 6 years ago . Which of these (https://stackoverflow.com/questions/492893/graph-drawing-c-library) libraries can be used to evaluate nodes coordinates? I mean I want to draw and manipulate graph by clicking on it to add some nodes or delete, and then evaluate coordinates using some lightweight library. All I need is algorithm