Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将比例渐变颜色应用于R中的条形图(无图例)_R_Ggplot2_Colors_Bar Chart - Fatal编程技术网

将比例渐变颜色应用于R中的条形图(无图例)

将比例渐变颜色应用于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

我试图对这两个具有相同值的条形图应用渐变颜色:

左边的条形图显示了英国9个地区1年内的平均失业率,而右边的条形图显示了同一年内失业率的变化

所需输出:颜色梯度低=黄色,高=红色,以突出失业率平均值和波动率最高/最低的区域(=条)#

以下是我正在使用的代码:

  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我对答案进行了编辑,以显示一种不雅观但有效的方法。