饼图标签

时间:2019-08-30 16:12:19

标签: r

需要一些帮助才能使我走到终点。导入具有15个变量的1588个观测值的XLSX工作表。此时,实际上只对一列感兴趣,该列代表四个可能的值之一(正常,慢速,节点故障,登录失败)。该电子表格由测量网站可用性的应用程序生成。因此,目标是在饼图中简单显示这四个值。只是在标签上遇到了一些麻烦,我认为这是因为我手动说明了它们,并且我认为它必须基于值,因为它们的数量显然会在每个报告中发生变化。

我创建了一个变量“ lbls”来保存可能的值。它们的顺序基于table命令的输出。我认为这可能是错误的,相反,饼图的标签确实需要基于列中的值。

library(plotrix)
CN <- table(APP$urlStatus)
CN
lbls <- c("Login Failure","Node Failure","Normal","Slow")
pie3D(CN, labels = lbls,explode = 0.05,
      main="APP STG Performance")

期望的结果是使标签与列中的值对齐。例如,如果“正常”列中的计数最高,则在饼图的该部分上应显示“正常”。我只需要确保标签确实与图表上显示的内容对齐即可。我不确定我是否正确,因为我仅根据table命令的输出确定其顺序。

head(AppMon)
# A tibble: 6 x 4
  authenticationTime pageLoadTime urlStatus Totaltime
               <dbl>        <dbl> <chr>         <dbl>
1               3.56        11.9  Slow          15.5 
2               3.82         6.77 Normal        10.6 
3               3.86        10.6  Normal        14.4 
4               3.61        11.1  Normal        14.7 
5               5.09         4.57 Normal         9.66
6               3.03        11.8  Normal        14.8

Pie Chart Of Values

这就是我最终得到的

groupStatus <- data.frame("urlStatus"=c("Normal","Slow","GSSO Login Failed",
                                        "Node Failure"))
KCW %>% group_by(urlStatus) %>%
  summarise(n=n()) %>%
  right_join(groupStatus) %>%
  mutate(urlfrequency=n/sum(n,na.rm = TRUE)) %>%
  ggplot(aes(x=reorder(urlStatus,-urlfrequency),y=urlfrequency,fill=urlStatus)) +
  geom_bar(stat="identity") + 
  xlab("") + ylab("Frequency") + ggtitle("URL Weekly Status") +
  labs(fill="Legend") +
  theme(axis.text.x = element_text(angle = 45,hjust = 1)) +
  scale_fill_manual(values = c("Normal"="DarkGreen",
                               "Slow"="Yellow",
                               "GSSO Login Failed"="Red",
                               "Node Failure"="Purple"))

0 个答案:

没有答案