已更新
如果我从自动关键点线中删除“points=FALSE”,图例将显示颜色,但不会显示矩形,而是圆形/点。
原始问题
我有一个包含图例的堆积条形图,我想在条形图中添加数字以显示相对值。我似乎能做到其中一个(传说和价值观),但不能两者兼而有之。
使用下面的测试代码,我得到了一个显示堆叠条形图中的值的图形。
dta <- data.frame(x=c(46.0, 14.7, 16.4, 15.8, 7.0), y=c("Back", "Neck", "Extrem", "MuscSkel", "Oth"))
barchart(data=dta, ~x, group=y,
stack=T,col=sort(brewer.pal(7,"Purples")), xlab="Percent",
box.width=.5, scales=list(tick.number=10),
panel=function(x,y,...){
panel.barchart(x,y,...)
panel.text(cumsum(x)-dta$x/2,y,labels=dta$x)
})
如果我运行此代码,我会得到一个带有图例的图表。
dta <- data.frame(x=c(46.0, 14.7, 16.4, 15.8, 7.0), y=c("Back", "Neck", "Extrem", "MuscSkel", "Oth"))
barchart(data=dta, ~x, group=y,
stack=T, xlab="Percent",
box.width=.5, scales=list(tick.number=10),
auto.key = list(space="right", cex=.5, border=T, points=F, lines=F, lwd=5, text=c("Back", "Neck", "Extrem", "MuscSkel", "Oth")),
par.settings=list(superpose.polygon=list(col = rainbow(length(c("Back", "Neck", "Extrem", "MuscSkel", "Oth")))),
fill=rainbow(length(c("Back", "Neck", "Extrem", "MuscSkel", "Oth")))))
但当我组合代码时,结果图不会显示图例中的颜色:
dta <- data.frame(x=c(46.0, 14.7, 16.4, 15.8, 7.0), y=c("Back", "Neck", "Extrem", "MuscSkel", "Oth"))
barchart(data=dta, ~x, group=y,
stack=T, xlab="Percent",
box.width=.5, scales=list(tick.number=10),
auto.key = list(space="right", cex=.5, border=T, points=F, lines=F, lwd=5, text=c("Back", "Neck", "Extrem", "MuscSkel", "Oth")),
par.settings=list(superpose.polygon=list(col = rainbow(length(c("Back", "Neck", "Extrem", "MuscSkel", "Oth")))),
fill=rainbow(length(c("Back", "Neck", "Extrem", "MuscSkel", "Oth")))),
panel=function(x,y,...){
panel.barchart(x,y,...)
panel.text(cumsum(x)-dta$x/2,y,labels=dta$x)
})
任何帮助都将不胜感激。
只要提到这个替代方案(因为您希望自己解决问题;)),您可以使用ggplot2
获得相同的图表,您只需要使用dplyr
创建一个新的列w
:
library(ggplot2)
library(dplyr)
dta %>% mutate(w = cumsum(x)) %>%
ggplot(., aes(xmin = w-x, xmax = w, ymin = 1, ymax = 3))+
geom_rect( aes(fill = y))+
geom_text(aes(label = x, x = w - x/2, y = 2))+
ylim(0,4)+
xlab("Percent")+
ylab("")+
theme(axis.text.y = element_blank(),
axis.ticks.y = element_blank())
更改代码以将“矩形=T”添加到自动键行可以工作。它现在显示条形图中的值和带有颜色的图例代码如下所示:
dta <- data.frame(x=c(46.0, 14.7, 16.4, 15.8, 7.0), y=c("Back", "Neck", "Extrem", "MuscSkel", "Oth"))
barchart(data=dta, ~x, group=y,
stack=T, xlab="Percent",
box.width=.5, scales=list(tick.number=10),
auto.key = list(space="right", cex=.5, border=T, points=F, rectangles = T, lines=F, lwd=5, text=c("Back", "Neck", "Extrem", "MuscSkel", "Oth")),
par.settings=list(superpose.polygon=list(col = rainbow(length(c("Back", "Neck", "Extrem", "MuscSkel", "Oth")))),
fill=rainbow(length(c("Back", "Neck", "Extrem", "MuscSkel", "Oth")))),
panel=function(x,y,...){
panel.barchart(x,y,...)
panel.text(cumsum(x)-dta$x/2,y,labels=dta$x)
})
我正在试图找到一种方法,如何将curl命令传输到C#。 我需要的是从api获取令牌并将其保存到文件C:\。。。\x、 json\ 然后我想将令牌声明为变量,并将其用于另一个curl POST请求以获取数据。 卷曲: 我目前的尝试: 我试了几样东西,但都不管用。这是从curl.olsh.me,但我也得到一些等待错误,我不知道该怎么办。(我是C#的新手): “await”运算符只能在异步方法中使用。考
我要“登录” 而我愿意这样 我也使用Bootstrap4,但不是为了我想做的事情,我在某个地方读到,不使用Bootstrap,自己做更好。 下面是我使用的代码: css: html: 如果可以使用Bootstrap 4完成,我也可以。
这是要的效果, 但我怎么调都只能这样 应该去调series还是y轴
柱形图包括柱状图和条形图。 柱状图是用竖直的柱子来展现数据,一般用于展现横向的数据变化及对比。 条形图是用横向的柱子来展现数据,一般用于纵向的数据排名及对比。 一、柱状图 图4-7 Highcharts 柱状图 柱状图相关的配置参考 API 文档: 柱状图配置:针对当前数据列有效 柱状数据列配置 :针对当前页面的所有柱状数据列有效 二、条形图 条形图其实就是 X、Y 轴对调的柱状图,在 Highc
是否可以像所附图像一样在表格中放置一个按钮?
问题内容: 这是Highchart项目符号图表的示例http://jsfiddle.net/jlbriggs/LdHYt/1/ 如何将其转换为列项目符号图表? 问题答案: 这是您要找的东西吗?小提琴