请用R语言中的patternplo包以及ggplot2包画一个非常漂亮的柱状图 X轴从左到右变量从大到小排序 柱状图颜色由分类一填充 柱状图底纹由分类二填充
时间: 2024-05-08 14:16:39 浏览: 130
我们先生成一些随机数据来绘制图形:
```{r}
library(patternplot)
library(ggplot2)
set.seed(123)
data <- data.frame(
category1 = sample(LETTERS[1:3], 10, replace = TRUE),
category2 = sample(c("A", "B"), 10, replace = TRUE),
value = runif(10, 0, 10)
)
data
```
接下来,我们可以使用`patternplot`包和`ggplot2`包来绘制柱状图:
```{r}
ggplot(data, aes(x = reorder(category1, -value), y = value, fill = category1, pattern = category2)) +
geom_bar(stat = "identity") +
scale_pattern_manual(values = c("A" = "stripe", "B" = "crosshatch"), guide = FALSE) +
scale_fill_brewer(palette = "Set3") +
labs(x = "Category 1", y = "Value", title = "Bar Chart with Patterns") +
theme_minimal()
```
在这个图中,我们使用`reorder()`函数将`category1`按照`value`从大到小排序。我们使用`fill`参数来填充柱状图的颜色,并使用`pattern`参数来填充底纹。我们使用`scale_pattern_manual()`函数来手动指定底纹类型,使用`scale_fill_brewer()`函数来使用一个颜色调色板来填充颜色。最后,我们使用`labs()`函数和`theme_minimal()`函数来添加标签和调整主题。
阅读全文