我正在尝试在 R 中做一个金字塔“类似”的情节,我想我已经很接近了。我知道有诸如plotrix之类的功能金字塔图 https://www.rdocumentation.org/packages/plotrix/versions/3.6-6/topics/pyramid.plot但我想做的不是真正的金字塔图。在金字塔图中,中间有文本标签,与左侧和右侧的条形对齐。相反,我想做的是有两列文本,其中的条形图远离它们。
我正在使用 ggplot (但我想我不必)和多图 http://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_(ggplot2)/功能。一个最小的例子是这样的:
mtcars$`car name` <- rownames(mtcars)
obj_a <- ggplot (mtcars, aes (x=`car name`, y=mpg))
obj_a <- obj_a + geom_bar (position = position_dodge(), stat="identity")
obj_a <- obj_a + coord_flip ()
obj_a <- obj_a + xlab ("")
USArrests$`states` <- rownames(USArrests)
obj_b <- ggplot (USArrests, aes (x=`states`, y=UrbanPop))
obj_b <- obj_b + geom_bar (position = position_dodge(), stat="identity")
obj_b <- obj_b + coord_flip ()
obj_b <- obj_b + xlab ("")
multiplot (obj_a, obj_b, cols=2)
看起来像这样:
我想我想要的只是翻转左半部分,以便每行都有(从左到右):左栏、汽车型号、州名称、右栏。 (我制作的图表的两半行数相同,因此看起来不会那么拥挤。)但是,重点是,有两列文本,而不是一列。
当然,由于两半是彼此独立的,所以我真正的问题是我不知道如何制作左半。 (条形图,条形图朝相反方向移动。)但我想我也会解释我想要做什么......
先感谢您!
您可以设置 mpg 值obj_a
负数,并将汽车名称轴放置在相反一侧:
ggplot (mtcars, aes (x=`car name`, y=-mpg)) + # y takes on negative values
geom_bar (position = position_dodge(), stat = "identity") +
coord_flip () +
scale_x_discrete(name = "", position = "top") + # x axis (before coord_flip) on opposite side
scale_y_continuous(name = "mpg",
breaks = seq(0, -30, by = -10), # y axis values (before coord_flip)
labels = seq(0, 30, by = 10)) # show non-negative values
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)