Метки x / y гистограммы не отображаются

#r #networking #label #histogram #axis-labels

#r #сеть #метка #гистограмма #ось-метки

Вопрос:

Я загрузил сеть на R и вычислил степень и степень централизации. Теперь я хотел бы создать две гистограммы с этими элементами, используя hist(), но я не могу изменить метки x / y графика, я не знаю почему! Кто может мне помочь? 🙂

Это данные:

 structure(list(owner = c("ABBA JEANS MINING Sprl", "ABBA JEANS MINING Sprl", "ACACIA Sprl", "ACACIA Sprl", "ACACIA Sprl", "ACACIA Sprl", "AFRICAN ENGINEERING CORPORATE Sprl",  "AFRICAN ENGINEERING CORPORATE Sprl", "AFRICAN ENGINEERING CORPORATE Sprl",  "AFRICAN MINERALS (Barbados) Ltd Sprl"), armed_band = c("Mayi Mayi Militia (Bakata Katanga)",  "Militia (Elements)", "Batwa Ethnic Militia", "FDD", "Militia (Kamwina Nsapu)",  "RCD-Goma", "Anti-Balaka", "Kuluna Communal Militia", "Militia (Kamwina Nsapu)",  "Mayi Mayi Militia (Bakata Katanga)"), freq = c(1, 1, 1, 1, 4,  1, 1, 1, 1, 1)), row.names = c(NA, -10L), class = c("tbl_df",  "tbl", "data.frame"))
  

И это код, который я использую:

 all_network=network(data_network,matrix.type="edgelist",directed=TRUE) 
InDegree <- degree(all_network, cmode="indegree")     
OutDegree <- degree(all_network, cmode="outdegree")   
par(mar = rep(2, 4))
par(mfrow=c(1,2)) 
hist(InDegree, 
 xlab="YYY", 
 main="Number", 
 ylab="Frequency", 
 col="grey",
 breaks = c(1*0:200),
 xlim = range(1:40),
 freq=FALSE, 
 )
hist(OutDegree, 
 main="XXX", 
 xlab='Number', 
 freq=FALSE, 
 ylab="Frequency", 
 col="lightblue",
 xlim = range(1:40),
 breaks = c(1*0:40),
 )
par(mfrow=c(1,1)) 
  

Большое вам спасибо!

Ответ №1:

Установленные вами поля слишком малы для отображения меток.

 # This causes the problem
par(mar = rep(2, 4))
# Reset par to default
dev.off()
par(mar = c(5.1, 4.1, 4.1, 2.1))
par(mfrow=c(1,2)) 
hist(InDegree, 
     main="Number", 
      xlab="YYY", 
     
     ylab="Frequency", 
     col="grey",
     breaks = c(1*0:200),
     xlim = range(1:40),
     freq=T, 
)


hist(OutDegree, 
     main="XXX", 
     xlab='Number', 
     freq=T, 
     ylab="Frequency", 
     col="lightblue",
     xlim = range(1:40),
     breaks = c(1*0:40),
)
  

введите описание изображения здесь