我试图绘制好的stacked percent barchart使用ggplot2.我已经阅读了一些材料,几乎可以设法绘制,我想要什么.另外,我附上材料,它可能在一个地方有用:
如何在不创建摘要数据框的情况下在ggplot2中标记堆积条形图?
R堆积百分比条形图,包含二元因子和标签的百分比(使用ggplot)
我的问题是我不能放在labels我想要的地方- 在酒吧中间.
您可以在上面的图片中看到问题 - 标签看起来很糟糕,并且彼此重叠.
我现在正在寻找的是:
如何在酒吧(区域)的中间放置标签
如何绘制不是所有标签,但例如哪些标签超过10%?
如何解决重叠问题?
对于Q 1.@MikeWise建议可能的解决方案.但是,我仍然无法处理这个问题.
另外,我附上了可重复的例子,我是如何绘制这个grahp的.
library('plyr')
library('ggplot2')
library('scales')
set.seed(1992)
n=68
Category <- sample(c("Black", "Red", "Blue", "Cyna", "Purple"), n, replace = TRUE, prob = NULL)
Brand <- sample("Brand", n, replace = TRUE, prob = NULL)
Brand <- paste0(Brand, sample(1:5, n, replace = TRUE, prob = NULL))
USD <- abs(rnorm(n))*100
df <- data.frame(Category, Brand, USD)
# Calculate the percentages …Run Code Online (Sandbox Code Playgroud) 我有double-y-axis图表制作Excel.在Excel中,它只需要基本技能.我想做的是使用ggplot2库复制此图表R.
我已经这样做了,但我需要绘制Response 2nd-y-axis.
我附上了我用过的可重现的代码:
#Data generation
Year <- c(2014, 2015, 2016)
Response <- c(1000, 1100, 1200)
Rate <- c(0.75, 0.42, 0.80)
df <- data.frame(Year, Response, Rate)
#Chart
library(ggplot2)
ggplot(df) +
geom_bar(aes(x=Year, y=Response),stat="identity", fill="tan1", colour="sienna3")+
geom_line(aes(x=Year, y=Rate),stat="identity")+
geom_text(aes(label=Rate, x=Year, y=Rate), colour="black")+
geom_text(aes(label=Response, x=Year, y=0.9*Response), colour="black")
Run Code Online (Sandbox Code Playgroud) 我正在尝试绘制看起来信息丰富,清晰整洁的标签.
我是下面的例子,并提出一个问题关于label和axis格式.
例如,我的销售数据包括欧元的品牌,类别和支出.当欧元的总和很大(数百万或更多)时,标签看起来很难阅读而且没有提供信息.
结果,x-axis是,Scientific notation并且看起来也非常不洁净.
我已经设法以自定义方式格式化标签:它显示数千欧元.
geom_text(aes(label= paste(round(EUR/1000,0),"€"), y=pos), colour="white")
有更简单或自动化的方式吗?
由于Scientific notation看起来真的不清楚,对于轴我尝试使用scale_y_continuous(formatter = "dollar"),但这似乎不工作.而且,我无法找到是否Eur还实施而不是美元.我相信,这将是最好的展现y-axis在thousands.有解决方案吗
另外,我附上可重复的例子:
library(plyr)
library(dplyr)
library(ggplot2)
library(scales)
set.seed(1992)
n=68
Category <- sample(c("Black", "Red", "Blue", "Cyna", "Purple"), n, replace = TRUE, prob = NULL)
Brand <- sample("Brand", n, replace = TRUE, prob = NULL)
Brand <- paste0(Brand, sample(1:5, n, replace = TRUE, prob = NULL))
EUR <- abs(rnorm(n))*100000 …Run Code Online (Sandbox Code Playgroud) 我找到了一个有趣的包rpivotTable.我想创建shiny app哪些包含rpivotTable可以使用下载生成的数据downloadHandler.
但是,我无法找到解决方案,如何创建data.frame或其他我能够传递给downloadHandler函数的东西.
rpivotTable 创建一个类的对象:
class(pivot)
[1] "rpivotTable" "htmlwidget"
Run Code Online (Sandbox Code Playgroud)
是否有任何可能下载此功能的输出?
另外,我附上了这个例子,如何在光泽中创建数据透视图以及我想要使用的下载功能示例.
也许是其他任何想法或建议?
set.seed(1992)
n=99
Year <- sample(2013:2015, n, replace = TRUE, prob = NULL)
Month <- sample(1:12, n, replace = TRUE, prob = NULL)
Category <- sample(c("Car", "Bus", "Bike"), n, replace = TRUE, prob = NULL)
Brand <- sample("Brand", n, replace = TRUE, prob = NULL)
Brand <- paste0(Brand, sample(1:14, n, replace = TRUE, prob = NULL))
USD …Run Code Online (Sandbox Code Playgroud) r ×4
ggplot2 ×3
bar-chart ×2
labels ×2
axis ×1
axis-labels ×1
download ×1
excel ×1
linechart ×1
pivot-table ×1
rpivottable ×1
shiny ×1
vba ×1
yaxis ×1