Изменить цвет фона ткплота (igraph,R)
В настоящее время у меня есть сеть с tkplot()
, Первоначально я сохранял эти графики как PNG, но они были слишком сжаты, и мне понравилось, как снимок экрана tkplot
смотрел. Есть ли способ сделать фон сюжетом белым? Вместо светло-серого.
2 ответа
Пара очков, чтобы уточнить вещи.
Если PNG был слишком загружен, вы можете создать файл PNG большего размера, просто укажите width
а также height
в png()
вызов. Или вы можете сделать вершины меньше.
Цель tkplot()
в том, что иногда проще вручную отрегулировать координаты вершины. Идея в том, что вы звоните tkplot()
, откорректируйте координаты, запросите скорректированные координаты с помощью tkplot.getcoords()
, а затем использовать их с plot()
, так как plot()
просто гораздо более гибким, чем tkplot()
,
На самом деле можно изменить цвет фона в tkplot()
вот как:
library(igraph)
g <- graph.ring(10)
id <- tkplot(g)
tkconfigure(igraph:::.tkplot.get(id)$canvas, "bg"="lightyellow")
В следующей версии igraph будет возможно запросить холст через tkplot.canvas()
, так что вам не нужно будет использовать внутренний igraph:::.tkplot.get()
Команда для этого.
К сожалению, цвет фона холста является свойством виджета, поэтому при экспорте холста в EPS он будет игнорироваться. Способ обойти это требует, чтобы вы нарисовали большой прямоугольник нужного цвета и поместили его под вершинами и краями на холсте. Это определенно возможно, но просто запросить координаты проще tkplot.getcoords()
а затем использовать plot()
,
На заднем плане созданных tkplot объектов нет цвета. Он предназначен для вывода файлов eps-postscript, которые в основном прозрачны и предназначены для наложения на какой-либо другой файл. Откройте вывод экспортированного файла в считывателе, и вы не увидите цвета на заднем плане. Вот что вы получите, запустив пример на странице tkplot, сохраните его в виде файла eps и откройте с помощью Preview.app на Mac. (Вы должны иметь возможность использовать Ghostscript или ImageMagick для аналогичного отображения.)