相关疑难解决方法(0)

堆积的条形图与每个酒吧的颜色渐变

我想为堆叠的条形图着色,以便每个条形图都有自己的父颜色,每个条形图中的颜色都是此父颜色的渐变.

例:

这是一个最小的例子.我希望每个条形的颜色不同color,每个条形内的渐变由"清晰度"设置.

library(ggplot2)

ggplot(diamonds, aes(color)) + 
  geom_bar(aes(fill = clarity), colour = "grey")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在我真正的问题中,我每组都有更多的组:需要18种不同的条形,有39种不同的渐变颜色.

color-scheme r colors ggplot2

5
推荐指数
1
解决办法
1201
查看次数

ggplot:按面不同的scale_fill_gradient

我正在使用ggplot()geom_sf()来绘制一个多面映射(见下面的代码)和沿着scale_fill_gradient()变量(value在下面的示例中)的颜色单位,然后再用另一个变量(group)进行多面化。这有效;但现在我想根据切面更改渐变高端(不是中点或更低)的颜色。基于这个color_high答案,我已将其保存在绘图数据框中的单独列 ( ) 中。但是,我无法将其转换为绘图比例。

\n

有人能指出我正确的方向吗?下面是具有单个填充渐变的工作代码。预期输出具有高值,如color_high(A 组中的红色,B 组中的绿色)中所定义。

\n
library(sf)\nlibrary(tidyverse)\ntheme_set(theme_bw())\nlibrary(giscoR)\n\nger_fedstates <- gisco_get_nuts(nuts_level = 1, resolution = 10, country = "Germany", year = 2021)\n\ndat <- read.table(text = "state value group\n                          Sachsen 10 a\n                          Sachsen 1 b\n                          Bayern 3 a\n                          Bayern 30 b\n                          Rheinland-Pfalz 50 a\n                          Rheinland-Pfalz 50 b\n                          Saarland 70 a\n                          Saarland 70 b\n                          Schleswig-Holstein 9 a\n                          Schleswig-Holstein 90 b\n                          Niedersachsen  100 a\n                          Niedersachsen  100 b\n …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 facet-wrap r-sf

5
推荐指数
1
解决办法
953
查看次数

在带有 ggplot 的堆叠条形图中使用多个色标

我有一个数据集,其中单个样本属于一个大组和一个较小的子组。每个组有几个子组,但每个子组只能属于一个更大的组。同样,每个样本只能属于一个子组,因此只能属于一个更大的组。

我想制作一个具有两种颜色含义的真/假堆积条形图:

  • 轮廓(颜色)是较大的组
  • 填充是真/假数据,但是是较大组轮廓颜色的两种阴影。

这接近我想要的,但不是浅灰色和深灰色,我希望红色水果为浅红色和深红色,绿色水果为浅绿色和深绿色,蓝色水果为浅蓝色和深蓝色。

fruit <- data.frame(Sample=1:20, 
                Fruit=c(rep("Apple", 3), rep("Strawberry", 2), rep("Grape", 4), 
                      rep("Watermelon", 4), rep("Lime", 3), rep("Blueberry", 2), 
                      rep("Plum", 2)), 
                Color=c(rep("Red", 9), rep("Green", 7), 
                        rep("Blue", 4)), 
                Ripe=c(rep(c(T, F), 10)))

fruit$Fruit <- factor(fruit$Fruit, unique(fruit$Fruit))
fruit$Color <- factor(fruit$Color, unique(fruit$Color))

ggplot(fruit, aes(Fruit)) +
    theme_bw() +
    geom_bar(stat="count", position="fill",
             aes(fill=Ripe, color=Color)) +
    scale_fill_manual(values=c("grey65", "grey85")) +
    scale_y_continuous(labels=scales::percent)
Run Code Online (Sandbox Code Playgroud)

例子

这可能吗?或者有没有更好的方法可以用真/假值在视觉上区分较大的组成员身份?谢谢

r colors ggplot2 stackedbarseries geom-bar

1
推荐指数
1
解决办法
3285
查看次数