下午好,ggplot订单数据圆形阴谋
我想知道如果有人能指出我正确的方向来解决循环阴谋问题。我有一些样本数据,我正在尝试制作类似于以下图片的内容,仅显示8周的定向数据,风险值从非常低的风险(在数据中表示为“0”到高风险表示为“4”集。
这是在油漆做,我试图创造一些与R.以下为8周的数据图。该图只显示了各15度的方向,以最低的风险每周最高。 的例子表示以下颜色:
白色=非常低,绿色=低,黄色=中,橙=高和红色=很高
我试图摄制尽管类似这样的设计,但如上图所示,无论每个15度区间的星期数如何,都需要整理出最低到最高的分辨率。
到目前为止我的代码让我:
什么,我努力修复是:
从极高到极低的每个15度报告的顺序在数据上没有任何空白(例如,如果2周的数据仅存在2周 - 图中的0-15度)
传说从非常低到非常高的
的顺序我已经试过scale_fill_manual但我觉得我不使用这一权利。
我的代码是迄今:
ggplot(dat, aes(Arc, "", fill=Risk)) +
geom_bar(width=14.5, stat='identity', colour=("grey90")) +
scale_fill_manual(values = c("Red", "orange","green","yellow","white")) +
coord_polar(start= 0)+
labs(x = '', y = '') +
theme_bw() +
theme(panel.border = element_blank(),
legend.key = element_blank(),
axis.ticks = element_blank(),
axis.text.y = element_blank(),
axis.text.x = element_blank(),
panel.grid = element_blank(),
legend.position="bottom")
和我的样本输入数据是:
dput(dat)
structure(list(Arc = c(7.5, 22.5, 37.5, 52.5, 67.5, 82.5, 97.5,
112.5, 127.5, 142.5, 157.5, 172.5, 187.5, 202.5, 217.5, 232.5,
247.5, 262.5, 277.5, 292.5, 307.5, 322.5, 337.5, 352.5, 7.5,
22.5, 37.5, 52.5, 67.5, 82.5, 97.5, 112.5, 127.5, 142.5, 157.5,
172.5, 187.5, 202.5, 217.5, 232.5, 247.5, 262.5, 277.5, 292.5,
307.5, 322.5, 337.5, 352.5, 7.5, 22.5, 37.5, 52.5, 67.5, 82.5,
97.5, 112.5, 127.5, 142.5, 157.5, 172.5, 187.5, 202.5, 217.5,
232.5, 247.5, 262.5, 277.5, 292.5, 307.5, 322.5, 337.5, 352.5,
7.5, 22.5, 37.5, 52.5, 67.5, 82.5, 97.5, 112.5, 127.5, 142.5,
157.5, 172.5, 187.5, 202.5, 217.5, 232.5, 247.5, 262.5, 277.5,
292.5, 307.5, 322.5, 337.5, 352.5, 7.5, 22.5, 37.5, 52.5, 67.5,
82.5, 97.5, 112.5, 127.5, 142.5, 157.5, 172.5, 187.5, 202.5,
217.5, 232.5, 247.5, 262.5, 277.5, 292.5, 307.5, 322.5, 337.5,
352.5, 7.5, 22.5, 37.5, 52.5, 67.5, 82.5, 97.5, 112.5, 127.5,
142.5, 157.5, 172.5, 187.5, 202.5, 217.5, 232.5, 247.5, 262.5,
277.5, 292.5, 307.5, 322.5, 337.5, 352.5, 7.5, 22.5, 37.5, 52.5,
67.5, 82.5, 97.5, 112.5, 127.5, 142.5, 157.5, 172.5, 187.5, 202.5,
217.5, 232.5, 247.5, 262.5, 277.5, 292.5, 307.5, 322.5, 337.5,
352.5, 7.5, 22.5, 37.5, 52.5, 67.5, 82.5, 97.5, 112.5, 127.5,
142.5, 157.5, 172.5, 187.5, 202.5, 217.5, 232.5, 247.5, 262.5,
277.5, 292.5, 307.5, 322.5, 337.5, 352.5), RiskV = c(0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 3L,
3L, 2L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
1L, 2L, 3L, 3L, 4L, 4L, 4L, 4L, 3L, 3L, 2L, 2L, 2L, 1L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 2L, 2L, 3L, 3L, 3L,
3L, 2L, 2L, 2L, 2L, 2L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 2L, 2L,
2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 2L, 1L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 2L, 2L, 3L, 3L, 3L, 3L,
3L, 2L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 3L, 3L, 2L, 1L, 1L, 0L, 1L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 2L, 3L, 3L, 3L, 3L,
3L, 2L, 2L, 2L, 2L, 1L, 1L, 0L, 0L, 1L, 1L, 2L, 2L, 2L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L), week = c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L,
6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L,
7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L,
7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L,
8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L),
Risk = structure(c(5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 2L,
3L, 1L, 1L, 1L, 1L, 4L, 4L, 1L, 1L, 3L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 2L, 3L, 1L, 1L, 4L, 4L,
4L, 4L, 1L, 1L, 3L, 3L, 3L, 2L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 1L, 1L, 1L, 1L, 3L, 3L, 3L,
3L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 2L, 2L, 3L, 3L, 3L, 3L, 3L,
1L, 1L, 1L, 1L, 1L, 3L, 2L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 2L, 3L, 3L, 1L, 1L, 1L, 1L, 1L,
3L, 2L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 3L, 1L, 1L, 1L, 4L, 4L, 4L, 1L, 1L, 3L, 2L, 2L, 5L, 2L,
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 2L, 3L, 1L, 1L,
1L, 1L, 1L, 3L, 3L, 3L, 3L, 2L, 2L, 5L, 5L, 2L, 2L, 3L, 3L,
3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 3L), .Label = c("High", "Low", "Medium", "Very High",
"Very Low"), class = "factor")), .Names = c("Arc", "RiskV",
"week", "Risk"), class = "data.frame", row.names = c(NA, -192L
))
如果有人能指出我在哪里,我错了,这将是巨大的,在此先感谢
如果我加上'水平= C( “非常高”, “高”, “中”, “低”, “极低”)'后'类=“因子”'当定义风险在dat,我设置的因素水平的顺序,并得到正确的顺序与正确的颜色相关的图例。 – Haboryme
@Haboryme,谢谢你的评论。我只是想知道我该如何设置课程?我之前没有使用过这个 – Achak
对于风险类别是因素,可以用因子()来完成。例如,风险=因素(c(“低”,“低”,“高”,“中”),水平= c(“低”,“中”,“高”))。这是否回答你关于课堂的问题? – Haboryme