标签: graph-visualization

在小修改后重新布局图形,同时保留原始布局的特征

在Mathematica 8中有一种简单的方法可以执行以下操作吗?

  1. 构建图形,并使用一些图形布局显示它.
  2. 稍微修改图形(例如,添加或删除边或顶点).
  3. 从原始布局开始重新计算布局,以便或多或少地保留对象的"形状".例如,重新运行弹簧电动布局算法,从先前布局的坐标开始.

如果图形在两个显示之间没有变化,则布局不应该改变(或者只是最小化).使用新的显示GraphGraphPlot都是可以接受的.

编辑:本质上我需要类似图形的类似布局.我总是通过修改现有的图形来获得类似的图形,这些图形可能已经布局,但任何通用的解决方案都是可以接受的.

编辑2:这是一个这种事情有用的例子.转到http://ccl.northwestern.edu/netlogo/models/GiantComponent并单击"在浏览器中运行"(需要Java).单击设置,然后单击执行.您可以看到图表的演变.如果我们在Mathematica中这样做,那么每个连续的图形看起来都会完全不同,并且很难看出它是同一个正在发展的图形.在几个应用程序中,能够可视化图形的小变化是非常有用的.但是,如果进行了许多连续的更改,那么重新计算布局是必须的,简单地淡化或突出显示边缘是不够的.同样,这只是一个例子:我不是试图使用Mathematica来动画图形,或者想象巨型组件的出现.

wolfram-mathematica graph-visualization mathematica-8

6
推荐指数
3
解决办法
934
查看次数

图DB模式的最佳点/ GraphViz布局

我第一次使用dot + GraphViz来帮助规划图表数据库架构.

随着我添加更多节点,输出看起来不太理想.特别是,语言和国家看起来相当混乱.

我已经尝试了一些基本的排名,但却无法影响它.

我怎样才能获得更清晰的输出?

代码:

digraph ReferenceGraph {
  nodesep = 2;
  edge [color=gray50, fontname=Calibri, fontsize=11]
  node [shape=record, fontname=Calibri, fontsize=11]

  root [label="Reference Node", color=darkgreen, fontcolor=darkgreen, fontname=Calibri, fontsize=11]

  sue [label="{{User}|{GivenName=Sue}|{FamilyName=Williams}|{Username=swilliams}|{EmailAddress=Sue.Williams@foo.com}|{BusinessPhone=02 1234 5678}|{MobilePhone=0414 123 456}|{PasswordSalt=fcd376dc}|{PasswordHash=a8635cfd2930ebc0cc78}|{PreviousPasswordSalt=gggf6dc}|{PreviousPasswordHash=wer435cfd2930ebc0cc78}|{RequirePasswordChangeOnNextLogin=true}|FailedLoginAttempts=0|LastLoginAttemptUtc=21 Jun 2011 16:43:01 UTC|{DateCreatedUtc=20 Jun 2011 15:43:07 UTC}}", color=blue, fontcolor=blue]
  sue -> root [label="ADMINISTERS"]

  clint [label="{{Client}|{UniqueId=100}|{GivenName=Clint}|{MiddleNames=ian bill}|{FamilyName=Wood}|{PreferredName=Woods}|{Gender=Male Female Unknown}|{PlaceOfBirthTown}|{PlaceOfBirthState}|{PlaceOfBirthCountry}|{Email=clint.wood@foo.com}|{LanguageComments}|{InterpreterRequired=true false}|{InterpreterComments}|{Religion=Buddhist}|{LegalOrders=order1}|{DateOfBirth=21 June 1979}|{DateOfBirthCertainty=Confirmed Unconfirmed Estimated}}", color=blue, fontcolor=blue]
  clint -> acme [label="CLIENT_BELONGS_TO"]
  clint -> english [label ="SPEAKS"]

  cat [label="Cat (Client)"]
  cat -> acme [label="CLIENT_BELONGS_TO"]
  cat -> english [label …
Run Code Online (Sandbox Code Playgroud)

dot graphviz graph-visualization

6
推荐指数
1
解决办法
3456
查看次数

D3/GraphGL强制定向网络可视化的放大镜效果?

当使用D3GraphGL库将鼠标悬停在力导向图形可视化中的节点上时,是否可以创建平滑的动画放大效果(类似于Mac OS X上的停靠点)?

节点需要扩展并替换其周围的其他节点,同时保持力导向布局.

如果有人可以用这个来展示,那就太好了!谢谢

请注意,这与此问题中的简单缩放不同

javascript jquery graph-visualization d3.js force-layout

6
推荐指数
1
解决办法
2675
查看次数

JUNG:将整个图形(不仅仅是可见部分)保存为图像

我一直在寻找我的问题的解决方案,但没有什么是我想要的.

我想要做的是将整个JUNG图(使用自定义顶点和边渲染)保存到图像(PNG或JPEG).当我将VisualizationViewer保存到BufferedImage时,它只占用可见部分.我想保存整个图表,所以这不是一个选项.

有没有人知道如何将整个图形渲染成图像?

提前致谢!

java image jung graph-visualization

6
推荐指数
1
解决办法
3585
查看次数

如何为graphNEL图的节点着色?

我正在使用graphNEL来自gRbaseRgraphviz绘图的对象,并且想要在绘图时以不同(指定)颜色为图形的节点着色.例如,我怎么能绘制此图与ab蓝色和cd红色的吗?

library(Rgraphviz)
library(gRbase)
mygraph = dag(~a:c + b:c + b:d)
plot(mygraph)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r graphviz graph-visualization

6
推荐指数
1
解决办法
1057
查看次数

用于通过Graph进行网络可视化的Java Graph库

我想实现一个可视化界面,用于可视化nodesedges图形以及一些对象,如节点之间在节点之间移动的数据包如下图所示:

在此输入图像描述

我尝试过使用Jung库,但它没有任何类型的功能,可以使用边缘作为移动对象的路径在节点之间移动对象.我已经看到了Graph Stream Library的演示,它显示了一些在节点之间移动的对象,但是当我查看库文档时,我没有找到任何用于移动图形的功能,这个库是否能够满足我的需求?

如果没有,任何人都可以建议一个可以提供这种功能的库.任何建议,将不胜感激.

编辑:进一步努力实施

我已经在JUNG中实现了这样的功能,并且直边它工作正常,我正在使用IterativeProcess类并按setLocation功能移动节点.

是实施.

但是我想知道是否有更好的方法可以通过其他一些具有内部定义功能的库来执行此操作?

java visualization graph graph-visualization jung2

6
推荐指数
1
解决办法
861
查看次数

如何在使用graphviz渲染的图形中获取节点坐标

我正在实现一个逐步图形转换算法,其中在每个步骤中删除或添加节点,并希望将所有中间图形的跟踪记录为图像文件,其中节点在删除之前保持在相同位置呈现。这将有助于制作最终动画。

我想从布局引擎计算的初始步骤中获取节点位置,然后将它们作为节点属性传递给后续步骤。

我正在使用 graphviz 库,但找不到任何方法来获取pos渲染图中的节点坐标(属性)。这是一段代码摘录。

    from graphviz import Digraph
    dot = Digraph()
    dot.node('x', label='hello')
    dot.node('y', label='world')
    dot.edge('x', 'y')
    dot.render(filename='hello.gv', view=True, cleanup=False)
Run Code Online (Sandbox Code Playgroud)

我也检查了dot对象,但什么也没发现。我错过了什么吗?我无法确定头寸是否通过 API 导出。在这种情况下,哪个不同的库可以提供帮助?

python dot graphviz graph-visualization

6
推荐指数
1
解决办法
706
查看次数

如何在绘图中不填充 NaN 下的区域

巧都,

我正在与情节合作。

我需要画一条曲线并填充它下面的区域。可能会出现一些 NaN,在这种情况下不填充区域非常重要。

请注意,在我的情况下,0 和 NaN 是不同的,因此将 NaN 设置为 0 是解决不适合我的情况的区域问题的方法。

我尝试使用以下代码:

import plotly.graph_objs as go
from plotly.offline import plot

p = go.Scatter(x=range(0,12),
           y = [1,2,3,np.nan, np.nan, np.nan, np.nan, np.nan, 0,0,0,5],
           fill='tozeroy')
fig = go.Figure([p])
plot(fig, auto_open=True)
Run Code Online (Sandbox Code Playgroud)

但我得到了一个我不喜欢的结果。如您所见,没有与 NaN 对应的点,因此在悬停模式中不会显示任何内容(我喜欢它!)但有区域。

在此处输入图片说明

我想达到这个结果:

import plotly.graph_objs as go
from plotly.offline import plot

p1 = go.Scatter(x=range(0,3),
           y = [1,2,3],
           fill='tozeroy')
p2 = go.Scatter(x=range(8,12),
           y = [0,0,0,5],
           fill='tozeroy')

fig = go.Figure([p1, p2])
plot(fig, auto_open=True)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

(当然,我希望情节只有一种颜色,图例中只有一种元素。)

你能帮我在不将曲线分成多条曲线的情况下重现第二个图吗?

谢谢

data-visualization scatter graph-visualization plotly

6
推荐指数
1
解决办法
1314
查看次数

R:如何有效地可视化大型图网络

我在 R 中模拟了一些图网络数据(~10,000 个观察值),并尝试使用 R 中的 visNetwork 库将其可视化。 然而,数据非常混乱,很难进行可视化分析(我明白在现实生活中,网络数据是旨在使用图查询语言进行分析)。

就目前而言,我可以做些什么来改进我创建的图网络的可视化(这样我就可以探索一些相互叠加的链接和节点)?

可以使用诸如“networkD3”和“diagrammeR”之类的库来更好地可视化该网络吗?

我在下面附上了我的可重现代码:

library(igraph)
library(dplyr)
library(visNetwork)

#create file from which to sample from
x5 <- sample(1:10000, 10000, replace=T)
#convert to data frame
x5 = as.data.frame(x5)

#create first file (take a random sample from the created file)
a = sample_n(x5, 9000)
#create second file (take a random sample from the created file)
b = sample_n(x5, 9000)

#combine
c = cbind(a,b)
#create dataframe
c = data.frame(c)
#rename column names
colnames(c) <- c("a","b")

graph …
Run Code Online (Sandbox Code Playgroud)

r data-visualization graph igraph graph-visualization

6
推荐指数
1
解决办法
1132
查看次数

如何在不使用 Tensorboard 训练模型的情况下可视化图形?

我试图在没有训练的情况下在 Tensorboard 中可视化模型。

我检查了这个那个,但即使对于最简单的模型,这仍然不起作用。

import tensorflow as tf
import tensorflow.keras as keras
# Both tf.__version__ tensorboard.__version__ are 2.5.0

s_model = keras.models.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(32, activation='relu'),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(10, activation='softmax')
])

logdir = '.../logs'
_callbacks = keras.callbacks.TensorBoard(log_dir=logdir)
_callbacks.set_model(s_model) # This is exactly suggested in the link
Run Code Online (Sandbox Code Playgroud)

当我执行上述操作时,我收到错误消息:

图形可视化失败。

错误:GraphDef 格式错误。有时,这可能是由于网络连接不良或难以协调多个 GraphDef 造成的;对于后一种情况,请参考 https://github.com/tensorflow/tensorboard/issues/1929

我不认为这是一个协调问题,因为它不是自定义函数,如果我编译模型,训练,那么我可以获得我想要的图形可视化。

s_model.compile(
    optimizer='adam',
    loss='sparse_categorical_crossentropy',
    metrics=['accuracy'])

(train_images, train_labels), _ = keras.datasets.fashion_mnist.load_data()
train_images = train_images / 255.0

logdir = '.../logs'
tensorboard_callback = keras.callbacks.TensorBoard(log_dir=logdir)

s_model.fit(
    train_images,
    train_labels, …
Run Code Online (Sandbox Code Playgroud)

graph-visualization keras tensorflow tensorboard

5
推荐指数
0
解决办法
1056
查看次数