2013-07-13 5 views
2

J'ai actuellement un réseau tracée avec tkplot(). A l'origine, je sauvegardais ces tracés en tant que pngs, mais ils étaient trop compressés et j'aimais à quoi ressemblait une capture d'écran du tkplot. Y a-t-il un moyen de rendre blanc l'arrière-plan de l'intrigue? Au lieu du gris clair.Changer la couleur de fond de tkplot (igraph, R)

Répondre

4

Un couple de points pour clarifier les choses.

Si le format PNG était trop encombré, vous pouvez créer un fichier PNG plus volumineux, spécifiez simplement width et height dans l'appel png(). Ou vous pouvez également réduire les sommets.

Le but de tkplot() est que, parfois, il est simplement plus facile de régler manuellement les coordonnées de vertex. L'idée est que vous appelez tkplot(), ajustez les coordonnées, interrogez les coordonnées ajustées via tkplot.getcoords(), puis utilisez-les avec plot(), car plot() est juste beaucoup plus flexible que tkplot().

Il est en effet possible de changer la couleur de fond dans tkplot(), voici comment:

library(igraph) 

g <- graph.ring(10) 
id <- tkplot(g) 
tkconfigure(igraph:::.tkplot.get(id)$canvas, "bg"="lightyellow") 

screenshot

Dans la prochaine version de igraph il sera possible d'interroger la toile via tkplot.canvas(), donc vous n'avez pas besoin d'utiliser la commande interne igraph:::.tkplot.get() pour cela.

Malheureusement, la couleur d'arrière-plan de la zone de travail est une propriété du widget. Par conséquent, lorsque vous exportez la zone de travail vers EPS, elle est ignorée. Le moyen de contourner ce requiere que vous tracez un grand rectangle de la couleur desiree, et placez-le sous les sommets et les bords de la toile. Ceci est certainement possible, mais il est simplement plus facile d'interroger les coordonnées via tkplot.getcoords() puis d'utiliser plot().

+0

Avez-vous produit ou connaissez-vous des blogs qui permettent aux gens de participer à des activités comme celle-ci? J'ai l'impression que 'igraph' pourrait être beaucoup plus utile que je l'ai réalisé jusqu'à présent. –

+0

Salut, http://www.r-bloggers.com/ a quelques messages liés igraph, certains meilleurs, d'autres moins. La plupart des choses sont dans le manuel, bien sûr les fonctions internes ne le sont pas. –

2

Il n'y a pas de couleur en arrière-plan des objets produits par tkplot. Il est conçu pour produire des fichiers eps-postscript qui sont fondamentalement transparents et conçus pour être superposés sur un autre fichier. Ouvrez la sortie d'un fichier exporté dans un lecteur et vous ne verrez aucune couleur en arrière-plan. Voici ce que vous obtenez lorsque vous exécutez l'exemple sur la page tkplot, enregistrer en tant que fichier eps et ouvrez avec Preview.app sur un Mac. (Vous devriez être en mesure d'utiliser Ghostscript ou ImageMagick pour un affichage similaire.)

enter image description here