使用
但這會按值對熱圖進行排序,而不管組是什么,即事故、致命事故或死亡人數。
# load packages -----------
library(tidyverse)
library(ggplot2)
library(reshape2)
library(dplyr)
library(plyr)
library(scales)
library(forcats)
# read in the data
airlines <- read.csv("/Volumes/GoogleDrive/My Drive/Uni/DVN/AT2/Blog 2/airline_incidents.csv", header = TRUE)
# select relevant columns
airlines_00_14 <- airlines[,c(1,6,7,8)]
# create a long dataset
airlines_00_14.m <- melt(airlines_00_14)
# rescale values for heat map
airlines_00_14.m <- ddply(airlines_00_14.m, .(variable), transform, rescale = rescale(value))
# create heat map
(q <- airlines_00_14.m %>%
ggplot( aes(x = variable, y = reorder(airline, value)))
geom_tile(aes(fill = rescale), colour = "white")
scale_fill_gradient(low = "white", high = "steelblue"))
uj5u.com熱心網友回復:
一種方法是在融化之前創建訂單,如下所示:
# order by fatalities and generate air_order value
airlines_00_14 = airlines_00_14[order(airlines_00_14$fatal_accidents_00_14),]
airlines_00_14$air_order = seq_len(nrow(airlines_00_14))
然后,當你使用時reshape2::melt,設定 `id.vars = c("airline","air_order")
# create a long dataset
airlines_00_14.m <- reshape2::melt(airlines_00_14,id.vars = c("airline", "air_order"))
然后,在你的情節中,使用y=reorder(airline, air_order)而不是當前y=reorder(airline, value)
輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471608.html
下一篇:如何通過值可視化原始資料
