2014-01-24 1 views
4

У меня есть некоторые проблемы при добавлении вершин метки в весовом igraph работе с R.Vertex Этикетки в igraph с R

Кадр данных графа:

df <- read.table(text= 
    "From, To, Weight 
    A,B,1 
    B,C,2 
    B,F,3 
    C,D,5 
    B,F,4 
    C,D,6 
    D,E,7 
    E,B,8 
    E,B,9 
    E,C,10 
    E,F,11", sep=',',header=TRUE) 

# From To Weight 
# 1  A B  1 
# 2  B C  2 
# 3  B F  3 
# 4  C D  5 
# 5  B F  4 
# 6  C D  6 
# 7  D E  7 
# 8  E B  8 
# 9  E B  9 
# 10 E C  10 
# 11 E F  11 

и я использую:

g<-graph.data.frame(df,directed = TRUE) 
plot(g) 

построить следующий график:

enter image description here

Видно, что метки вершин (например) от E до B накладываются друг на друга. (Та же проблема появляется вершина C-D и вершины B-F)

Я хотел бы знать, как отделить эти ярлыки так, чтобы каждый разный вес на каждой вершине?

+0

Это не этикетки вершин, а метки на кромках. –

ответ

7

попробуйте пакет qgraph. qgraph опирается на igraph и делает много вещей для вас в фоновом режиме.

install.packages('qgraph') 
require(qgraph) 
qgraph(df,edge.labels=T) 

enter image description here

Надеется, что это помогает.

+0

Спасибо, но я уже пробовал функцию qgraph. Он решает эту проблему, но менее полезно настраивать параметры графика, например, форму узлов или корректировать текст узлов. – user41037

+1

читать? Qgraph. вы можете изменить форму узлов по форме 'shape =' здесь. Вы можете отрегулировать текст узлов с помощью меток.cex, label.prop, label.norm и label.scale (чтобы назвать несколько). –

+0

Хорошо! И можете ли вы дать небольшой пример, пожалуйста? например, этот граф с прямоугольными узлами и произвольным длинным текстом в узлах? – user41037