📅  最后修改于: 2020-12-01 08:44:41             🧑  作者: Mango
在前面的章节中,我们介绍了可以使用“ ggplot2”包创建的各种图表。现在,我们将集中讨论相同的变化,例如发散的条形图,棒棒糖图等。首先,我们将开始创建分散的条形图,下面提到的步骤如下-
加载所需的程序包,并在mpg数据集中创建一个名为“ car name”的新列。
#Load ggplot
> library(ggplot2)
> # create new column for car names
> mtcars$`car name` # compute normalized mpg
> mtcars$mpg_z # above / below avg flag
> mtcars$mpg_type # sort
> mtcars
上面的计算涉及为汽车名称创建新列,并在round函数的帮助下计算归一化数据集。我们还可以使用avg标记上下的值来获取“类型”功能的值。稍后,我们对值进行排序以创建所需的数据集。
收到的输出如下-
将值转换为因数以在特定图中保留排序顺序,如下所述-
> # convert to factor to retain sorted order in plot.
> mtcars$`car name`
获得的输出在下面提到-
现在,使用上述属性创建一个发散的条形图,将其作为必需的坐标。
> # Diverging Barcharts
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_bar(stat='identity', aes(fill=mpg_type), width=.5) +
+ scale_fill_manual(name="Mileage",
+ labels = c("Above Average", "Below Average"),
+ values = c("above"="#00ba38", "below"="#f8766d")) +
+ labs(subtitle="Normalised mileage from 'mtcars'",
+ title= "Diverging Bars") +
+ coord_flip()
注-某些尺寸成员的离散条形图标记相对于上述值指向向上或向下。
下面提到了分散条形图的输出,其中我们使用函数geom_bar创建条形图-
创建具有相同属性和坐标且仅使用要更改的函数的不同棒棒糖图表,即geom_segment(),有助于创建棒棒糖图表。
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_point(stat='identity', fill="black", size=6) +
+ geom_segment(aes(y = 0,
+ x = `car name`,
+ yend = mpg_z,
+ xend = `car name`),
+ color = "black") +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Lollipop Chart",
+ subtitle="Normalized mileage from 'mtcars': Lollipop") +
+ ylim(-2.5, 2.5) +
+ coord_flip()
以类似的方式创建发散的点图,其中点代表较大尺寸的散点图中的点。
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_point(stat='identity', aes(col=mpg_type), size=6) +
+ scale_color_manual(name="Mileage",
+ labels = c("Above Average", "Below Average"),
+ values = c("above"="#00ba38", "below"="#f8766d")) +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Dot Plot",
+ subtitle="Normalized mileage from 'mtcars': Dotplot") +
+ ylim(-2.5, 2.5) +
+ coord_flip()
在此,图例以绿色和红色的不同颜色表示值“高于平均值”和“低于平均值”。点图可传达静态信息。除了仅使用点外,原理与发散条形图中的原理相同。