Я хочу использовать разные шрифты для меток вершин в двудольном сетевом графе в R. Первый столбец — это имя человека, а второй столбец — организация, к которой принадлежит человек (возможна двойная принадлежность).
Это пример данных
# R version 3.5.1 (2018-07-02) -- "Feather Spray"
# igraph 1.2.4
set.seed(7)
# bipartite network data
nodes <- read.csv("example.csv", header = TRUE, sep = ";")
> nodes
Person Organisation
1 John SPD
2 Maria SPD
3 John CDU
4 Karl CDU
5 Maik Greens
6 Lisa Left
7 Holger SPD
8 Nico CDU
9 Peter Greens
10 Astrid SPD
11 Theo Left
12 Rita Greens
13 Eric FDP
14 Walter CDU
15 Hilda FDP
16 Boris CDU
17 Olga FDP
18 Nina Left
19 Doris CDU
20 Udo SPD
summary(nodes)
library(igraph)
# different fonts and node shapes
shape <- c("circle", "square")
let <- c("Times", "Helvetica")
# creating graph (g)
g <- graph.data.frame(nodes, directed = FALSE)
# creating bipartite network
V(g)$type <- FALSE
V(g)$type[V(g)$name %in% nodes[, 1]] <- TRUE
plot(g, layout= layout_with_kk,
vertex.shape= shape[as.numeric(V(g)$type) + 1],
vertex.label.family= let[as.numeric(V(g)$type)+1]
)
Я назначаю два стиля шрифта (без специальных) для данных, которые они распознают на графике. Однако возникает следующая ошибка, и я не знаю, как ее решить:
In doTryCatch(return(expr), name, parentenv, handler) :
Zeichensatzfamilie in der Windows Zeichensatzdatenbank nicht gefunden (Translation: Font family is not found in the Windows font database)
Я не смог найти здесь ни одного связанного вопроса.
Спасибо за вашу помощь и предложения заранее!
Если я просто запущу ваш код, я получу похожее сообщение об ошибке, но вы можете исправить это, включив эти операторы до в свой оператор plot
.
windowsFonts("Times" = windowsFont("Times"))
windowsFonts("Helvetica" = windowsFont("Helvetica"))
Когда я включил эти операторы, я не получил сообщения об ошибке, и разные типы узлов отображались с разными шрифтами.
У меня была та же проблема, не могли бы вы попробовать решение, предложенное в этом посте: stackoverflow.com/questions/14733732/… Вы проверяли, установлен ли ваш шрифт на вашем компьютере?