如何在R中制作四分之一圆极坐标图?

时间:2020-01-09 20:42:03

标签: r ggplot2 plotly

我有一个两列的数据,如下所示,我确实需要创建一个条形极坐标图(从零到90度的四分之一圈极坐标图)。

Angle   Frequency   
0-10    83.3
10_20   16.6
20_30   5.7
30_40   62.3
40_50   32.4

我尝试如下使用ggplot2,但是它创建了一个360度的圆。我找不到如何使其变成四分之一圆(而不是360度圆)。

d <- structure(list(Angle = c(10, 20, 30, 40, 50),
                Frequency = c(83.3, 16.6, 5.7, 62.3, 32.4)), .Names = c("Angle", "Frequency"),
           row.names = c(NA, 5L), class = "data.frame")

library("ggplot2")
ggplot(d, aes(x = Angle, y = Frequency)) +
coord_polar(theta = "x", start = -pi/36, direction = 1) +
geom_bar(stat = "identity") +
scale_x_continuous(limits=c(0,90), breaks = seq(0, 90, 10))

我还尝试使用plotly,如下所示:

library("plotly")
p <- plot_ly(
  type = 'barpolar',
  r = c(54.7, 32.6, 8.4, 10.4, 30.6),
  theta = c(0, 10, 20, 30, 40)) %>% 
    layout(
    polar = list(
      radialaxis = list(
        visible = T,
        range = c(0,60)
      ),
      sector = c(0,90),
      radialaxis = list(
        tickfont = list(
          size = 10
        )
      ),
      angularaxis = list(
        tickfont = list(
          size = 10
        )
      )
    )
)

但是,我需要使用plotly更改已创建的条形极坐标图的某些功能,但找不到如何修改它们的功能。

这是我的问题:

对于使用ggplot2 制作的图形:如何制作四分之一圆(而不是完整的360度圆)?

对于使用plotly制作的图形:

1)如何修改垃圾箱的间隔?在我当前的图表中,角度分为15度增量:0、15、30、45、60、75和90度。我需要将此间隔更改为10,并分别进行0、10、20、30、40、50、60、70、80和90的除法。我该怎么做?

2)如何更改条形的颜色?现在所有五个条形均为蓝色,但是我想将蓝色更改为例如黑色,红色或任何颜色。

非常感谢您的宝贵帮助。非常感谢。

0 个答案:

没有答案