r - 如何防止 x 标签与条形图中的条形重叠?

标签 r powerpoint

这是代码:

barplot(colMeans(sample_data, na.rm = TRUE),
    las = 1,
    main = "Main Title",
    xlab = "Variable",
    ylab = "How Characteristic",
    col = rainbow(20),
    cex.names = 0.9,
    horiz = FALSE)

此处提供了示例数据集:

https://github.com/akaEmma/public_data/blob/master/sample_data.csv 或者您可以自己输入一些内容。这些是变量名称:

Love of Chocolate,Asian Knowledge,Stable Cleanliness,Love of People,Attention,Ethics,Aggression,Swimming,Style Points,Felinity

以下是一些与名称相关的数据:

8.67    9   6.25    7.33    6.33    5       6.67    5   5.25
8       3   6       6.67    8       7       7.67    4.5 5.25
7.33    7.5 5.75    8.67    8.67    8       5.33    2.5 3
8       6.5 6       6.33    8.33    5.33    5.67    6   6.5
6       5.5 5.25    5.33    5       4.67    4       4   3.5
7.67    7   6       4.67    7.33    5.67    7.67    5   3.75
8.67    8   7.5     5.67    7.33    5       8.33    7   7.75

如果我使用上面的代码,我会得到以下结果(忽略句点;它们并不重要):

Small Image that doesn't have good labels

如果我创建一个更大的图(比如用它填充我的屏幕),我会得到:

Now the labels overlap the bars.

(忽略丢失的标签;我不小心把它遗漏了,它应该是“Felinity”,不管是什么)

这种条形图适用于大屏幕上的 PowerPoint,因此我可以使用非常小的标签。

这就是我想要的:我想要干净漂亮的标签,每个栏一个,并且由于这是一个愿望 list ,我希望标签调整自己的大小,以便它们足够小以适合每个栏一个,并且我希望它们位于正确的垂直点,这样它们就不会与条形重叠。有任何想法吗?

发疯吧。我想要漂亮的条形图,而且我必须制作很多条形图,所以对每个图表都进行调整根本不是一种选择。无论变量名称的长度如何,每次都必须适用于这种类型的数据文件。

谢谢!

最佳答案

请注意,theme_settheme_tufteggplot2 特定的函数。

使用ggplot2你可以做这样的事情

df <- read.csv("https://raw.githubusercontent.com/akaEmma/public_data/master/sample_data.csv")

library(tidyverse)
library(ggthemes)
df %>%
    gather(key, value) %>%
    group_by(key) %>%
    summarise(mean.value = mean(value, na.rm = T)) %>%
    mutate(key = factor(key, levels = key[rev(order(mean.value))])) %>%
    ggplot(aes(key, mean.value, fill = as.numeric(key))) +
    geom_col() +
    theme_tufte() +
    scale_fill_gradientn(colours = rainbow(5), guide = F) +
    theme(axis.text.x = element_text(size = 6)) + 
    labs(x = "", y = "How characteristic")

enter image description here

关于r - 如何防止 x 标签与条形图中的条形重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52030661/

相关文章:

c++ - 是否可以将矩阵列表传递给 vector<Eigen::Map<Eigen::MatrixXd>> 内联?

r - R 中提取反事实 ARIMA 预测的函数

r - 查找匹配行的最快方法

python-3.x - 如何在 python 中使用 pptx 迭代表格并编辑信息?

r - 确定 rstudio 中 nls 函数的最佳初始值

r - 添加括号时子集 `data.table`的速度降低

java - 如何在 Apache POI ppt 中添加自定义字体

python - 在 Python 中读取 PowerPoint 表格?

powerpoint - 如何将reveal.js 转换为ppt 而不是pdf?

c# - Powerpoint OpenXML 空白正在消失