我正在尝试绘制Rgraphviz带有两个边缘标签的对象。不幸的是,标签不属于情节。这是我的示例:
require('Rgraphviz')
set.seed(123)
g1 <- randomGraph(letters[1:10], 1:4, 0.4)
eAttrs <- list()
eAttrs$label <- c("a~g" = "I have a very long label 1", "a~i" = "and a long label 2")
plot(g1, edgeAttrs = eAttrs)
Run Code Online (Sandbox Code Playgroud)
这是我的情节:

我尝试了几项都没有成功:
1. 设置更大的边框
z <- agopen(g1, "foo")
z@boundBox@upRight@x <- z@boundBox@upRight@x + 300
z@boundBox@upRight@y <- z@boundBox@upRight@y + 300
plot(z, edgeAttrs = eAttrs)
Run Code Online (Sandbox Code Playgroud)
2. 减小标签的字体大小(无论如何,这并不是我真正想要的)
eAttrs$labelfontsize=c("a~g"="3")
plot(g1, edgeAttrs = eAttrs)
Run Code Online (Sandbox Code Playgroud)
3.
更改par属性:
par(oma=c(10,10,10,10))
plot(g1, edgeAttrs = eAttrs)
Run Code Online (Sandbox Code Playgroud)
4.从以下位置
更改节点,边和常规属性?Rgraphviz::GraphvizAttributes
attrs <- list(graph=list(size=c(1, 1))) …Run Code Online (Sandbox Code Playgroud) 我试图用 sfdp 可视化一个大图。该图有 5134 条边和 1735 个节点。当我尝试生成 .png 时:
sfdp -x -Goverlap=scale -Tpng data.dot > data.png
Run Code Online (Sandbox Code Playgroud)
我明白了:
sfdp: graph is too large for cairo-renderer bitmaps. Scaling by 0.687429 to fit
sfdp: failure to create cairo surface: out of memory
Segmentation fault.
Run Code Online (Sandbox Code Playgroud)
问题可能是我的节点不是点,因为当我生成没有“-Goverlap=scale”的 de .png 时,没有问题,但图形不可读。
有什么我可以做的吗?还有另一个工具可以做到这一点吗?
我一直试图用图表绘制图表ggnet2.为此,我使用以下代码:
library(igraph)
lapply(c("sna", "intergraph", "GGally", "igraph", "network"), require, character.only=T)
data <- read.table('CA-CondMat.txt',sep="\t",header=TRUE)
g = graph.data.frame(data, directed = TRUE)
N = vcount(g)
E = ecount(g)
perc = 0.1
d.g = degree(g,mode='all')/N
new_nodes = sample.int(N,ceiling(perc*N),replace=FALSE,prob =d.g)
new_g = subgraph(g,new_nodes)
dg = degree(g,mode='all')
prob = dg/sum(dg)
png('example_plot2.png')
ggnet2(new_g, size = "degree", node.color = "steelblue", size.cut = 4,
edge.size = 1, edge.color="grey" )
dev.off()
Run Code Online (Sandbox Code Playgroud)
我得到一个完全蓝色的图表.
我正在使用这个包igraph.
我想要绘制的是一个图表,节点的颜色基于它们的程度,如下所示:

链接到该文件:https:
//snap.stanford.edu/data/ca-CondMat.html
编辑:
完整示例添加
当我使用igraph可视化网络时:
dt1 <- data.frame(v1=sample(letters[1:10],20,replace=TRUE),
v2=sample(letters[1:10],20,replace=TRUE))
g<-graph.data.frame(dt1, directed=F)
plot(g,layout=layout_in_circle)
Run Code Online (Sandbox Code Playgroud)
我想按顺序绘制顶点,并减少度数.我怎样才能做到这一点?我degree(g)用来获得学位信息.但是,绘制的节点的顺序是根据g对象中的内部顺序,即索引号.如果使用分配节点V(g)$name <-的名称,则名称已更改,但名称关系的ID也已更改.
我用 C++ 实现了一个二叉搜索树,它支持动态创建和删除节点。为了可视化树,我首先尝试使用/和显示边缘\。/然而,这给出了非常糟糕的可视化效果,因为和的位置\需要精确计算。目前的数字如下:

于是我找到了一个叫做Graphviz的工具。Graphviz支持的原始语言是点语言,我不太熟悉。
我阅读了文档,发现点语言易于编写和阅读,但我仍然想使用我的 C++ 代码来生成树,因为它包含很多内容,例如根据用户的输入插入等。
是否有机会使用某些函数来生成点文件?
我的二叉树的代码:
//BTNode.h
#include <iostream>
using namespace std;
template<class T>
struct BTNode{
BTNode(){
lChild = rChild = NULL;
}
BTNode(const T& x){
element = x;
lChild = rChild = NULL;
}
BTNode(const T& x, BTNode<T>* l, BTNode<T>* r){
element = x;
lChild = l;
rChild = r;
}
T element;
int digit, row;
BTNode<T>* lChild, *rChild;
};
//BSTree.h
#include"ResultCode.h"
#include "BTNode.h"
#include "seqqueue.h"
#include …Run Code Online (Sandbox Code Playgroud) visualization graphviz graph-visualization binary-search-tree
我已经编写了一个用于生成网络图的ui,server和global.r目前只适用于一种布局(layout.fruchterman.reingold),我想使用带有径向,对角网络等列出布局的单选按钮和dendroNetwork(下面使用R附加代码)
Global.R file for producing the graph
### Social Network Analysis /Word Network ##########
###############################################################
tdm <- TermDocumentMatrix(r_stats_text_corpus,control = list(wordLenghts = c(1,Inf)))
idx <- which(dimnames(tdm)$Terms == "call") ##change the terms to be searched
tdm2 <- removeSparseTerms(tdm, sparse = 0.994)
m2 <- as.matrix(tdm2)
m2[m2>=1] <- 1
m2 <- m2 %*% t(m2) ##Adjaceny Matrix
g <- graph.adjacency(m2, weighted=T, mode = "undirected")
g <- simplify(g)
V(g)$label <- V(g)$name
V(g)$degree <- degree(g)
set.seed(3952)
layout1 <- layout.fruchterman.reingold(g)
###Different Formats for Social Network Graphics
##Radial
radial …Run Code Online (Sandbox Code Playgroud) 我看到了关于如何在Jupyter笔记本中可视化张量流图的这个问题.我发现这个答案来自这个例子,只有一个修改(tensor.tensor_content = bytes("<stripped %d bytes>"%size, 'utf-8')被替换tensor.tensor_content = "<stripped %d bytes>"%size).但是,如果我尝试tensorflow_inception_graph.pb在可视化上重新运行它不起作用:iframe是白色的,并且没有显示节点.
如果你向我解释我做错了什么,我将非常感激.这里有一个简单的例子来重现这个问题.
进口:
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
import tensorflow as tf
import numpy as np
from IPython.display import clear_output, Image, display, HTML
Run Code Online (Sandbox Code Playgroud)
创建图表:
graph = tf.Graph()
sess = tf.InteractiveSession(graph=graph)
x = tf.placeholder(tf.float32, shape=[None, 25, 25, 3], name='x')
y_true = tf.placeholder(tf.float32, shape=[None, 10], name='y_true')
y_true_cls = tf.argmax(y_true, dimension=1, name='y_true_cls')
print graph.get_operations()
Run Code Online (Sandbox Code Playgroud)
输出:
[<tensorflow.python.framework.ops.Operation at 0x115902850>,
<tensorflow.python.framework.ops.Operation at 0x115902690>,
<tensorflow.python.framework.ops.Operation at …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个高性能的库,它可以绘制大量(10或甚至100个数千)相对简单的矢量形状(圆形,圆弧或圆角矩形),用于2D图形布局的可视化.
我希望能够只传输动画开始和停止几何,然后在GPU上"生成"插值动画.
在每个帧我想通过简单地更新通常从0到1的全局插值参数来最小化从CPU到GPU的数据量.
由于我想以OpenGL为基础,我相信Vertex Buffer Objects(VBO)是我应该选择的.
我选择的语言是C++ 11,我的平台是Ubuntu 12.10.
能够将高质量的文本与形状结合在一起是一个很大的优势.
您应该推荐哪些库/ API?
我相信oglplus是一个很好的候选人,但我不确定它是否对我的任务来说太低了.
我尝试在互联网上搜索,但找不到合适的工具,所以如果有人可以为我提供指向该工具的链接,该工具可以解析和显示 RDF 和 OWL 本体的图形。
r ×4
graphviz ×3
graph ×2
igraph ×2
animation ×1
bioconductor ×1
cytoscape ×1
cytoscape.js ×1
dot ×1
ggally ×1
ggplot2 ×1
ipython ×1
javascript ×1
jupyter ×1
layout ×1
nlp ×1
ontology ×1
opengl ×1
owl ×1
rdf ×1
semantic-web ×1
shiny ×1
tensorboard ×1
tensorflow ×1
vbo ×1