将比例渐变颜色应用于R中的条形图(无图例)
我试图对这两个具有相同值的条形图应用渐变颜色: 左边的条形图显示了英国9个地区1年内的平均失业率,而右边的条形图显示了同一年内失业率的变化 所需输出:颜色梯度低=黄色,高=红色,以突出失业率平均值和波动率最高/最低的区域(=条)# 以下是我正在使用的代码:将比例渐变颜色应用于R中的条形图(无图例),r,ggplot2,colors,bar-chart,R,Ggplot2,Colors,Bar Chart,我试图对这两个具有相同值的条形图应用渐变颜色: 左边的条形图显示了英国9个地区1年内的平均失业率,而右边的条形图显示了同一年内失业率的变化 所需输出:颜色梯度低=黄色,高=红色,以突出失业率平均值和波动率最高/最低的区域(=条)# 以下是我正在使用的代码: unemployment_data %>% tidyr::pivot_longer(-Region) %>% ggplot(aes(x=Region, y=value)) + geom_bar(stat='i
unemployment_data %>%
tidyr::pivot_longer(-Region) %>%
ggplot(aes(x=Region, y=value)) +
geom_bar(stat='identity') +
scale_y_continuous(name = "Unemployment Rate (%)") +
theme(axis.text.x=element_text(angle =- 90, vjust = 0.5)) +
facet_wrap(~name)
结构如下:
structure(list(
Region = c("SE", "SW", "EASTof", "LDN", "E_Mid",
"W_Mid", "Yorks", "NW", "NE"),
Unemployment.rate.average = c(3.21824018447441,
3.05119829228833, 3.44297331188711, 4.7077689256265, 4.23448912295878,
4.67588411516106, 4.45220611226308, 4.06868093338517, 5.69591652090698
),
Unemployment.rate.change = c(0.736310637450949, 1.46412090540429, 2.12686434777655,
1.45717316978403, 0.637927880295394, 0.332156994549906, -0.0793646423962819,
1.1068637830205, 1.51263456155816)),
class = "data.frame", row.names = c(NA, -9L))
我在网上找到的所有示例都使用图例作为渐变,但在我的例子中,我有两个条形图,其Y值取自同一数据帧的两个不同列——“平均”列和“更改”列,我的图中并不需要图例
提前感谢您的帮助 类似这样:
unemployment_data %>%
tidyr::pivot_longer(-Region) %>%
ggplot(aes(x=Region, y=value, fill=value)) +
geom_bar(stat='identity', show.legend=FALSE) +
scale_fill_gradient(low="yellow", high = "red") +
scale_y_continuous(name = "Unemployment Rate (%)") +
theme(axis.text.x=element_text(angle =- 90, vjust = 0.5)) +
facet_wrap(~name)
编辑:每个面板的不同渐变 对于有关在每个面板中使坡道不同的评论,可能有一种更优雅的方法,但您可以使用两个绘图:
library(dplyr)
library(ggplot2)
library(gridExtra)
p1 <- unemployment_data %>%
mutate(name1 = "Unemployment Rate Average") %>%
ggplot(aes(x=Region,
y=Unemployment.rate.average,
fill=Unemployment.rate.average)) +
geom_bar(stat='identity', show.legend=FALSE) +
scale_fill_gradient(low="yellow", high = "red") +
labs(y = "Unemployment Rate (%)", x="") +
theme(axis.text.x=element_text(angle =- 90, vjust = 0.5)) +
facet_wrap(~name1) +
coord_cartesian(ylim=c(0,6), expand=0)
p2 <- unemployment_data %>%
mutate(name2 = "Unemployment Rate Change") %>%
ggplot(aes(x=Region,
y=Unemployment.rate.change,
fill=Unemployment.rate.change)) +
geom_bar(stat='identity', show.legend=FALSE) +
scale_fill_gradient(low="yellow", high = "red") +
labs(x="", y="") +
theme(axis.text.x=element_text(angle =- 90, vjust = 0.5),
axis.title.y=element_blank(),
axis.text.y=element_blank(),
axis.ticks.y=element_blank()) +
facet_wrap(~name2) +
coord_cartesian(ylim=c(0,6), expand=0)
grid.arrange(p1, p2, nrow=1, bottom="Region")
库(dplyr)
图书馆(GG2)
图书馆(gridExtra)
p1%
变异(name1=“失业率平均值”)%>%
ggplot(aes(x=区域,
y=失业率、失业率、平均值,
填充=失业率、失业率、平均失业率)+
几何图形栏(stat='identity',show.legend=FALSE)+
比例填充梯度(低=“黄色”,高=“红色”)+
实验室(y=“失业率(%)”,x=“”)+
主题(axis.text.x=element_text(角度=-90,vjust=0.5))+
面_包裹(~name1)+
坐标笛卡尔(ylim=c(0,6),展开=0)
p2%
突变(name2=“失业率变化”)%>%
ggplot(aes(x=区域,
y=失业率、失业率、失业率变化,
填充=失业率、比率、变化)+
几何图形栏(stat='identity',show.legend=FALSE)+
比例填充梯度(低=“黄色”,高=“红色”)+
实验室(x=“”,y=“”)+
主题(axis.text.x=元素\文本(角度=-90,vjust=0.5),
axis.title.y=元素_blank(),
axis.text.y=元素_blank(),
axis.ticks.y=元素_blank()+
面_包裹(~name2)+
坐标笛卡尔(ylim=c(0,6),展开=0)
网格排列(p1,p2,nrow=1,bottom=“Region”)
Ooh是“show.legend=FALSE”我错过了,非常感谢!!有什么方法可以将两种不同的比例应用于两个条形图颜色渐变?因为如果我像这样离开它,它的右边基本上是黄色的,左边是深橙色的,而我希望每个条形图中的低值更偏黄色,高值更偏红色,如果这样做的话sense@Lactuca我对答案进行了编辑,以显示一种不雅观但有效的方法。