如何在Plotly for R中使用条形标签作为名称

时间:2018-03-14 01:31:40

标签: r r-plotly

所以我试图制作一张条形图,显示飞往芝加哥的最受欢迎的机场。出于某种原因,我发现特别难以让我的酒吧被机场名称贴上标签。

我有一个名为ty

的数据框
> ty
                                                     Name
1   Atlanta, GA: Hartsfield-Jackson Atlanta International
2                                 New York, NY: LaGuardia
3      Minneapolis, MN: Minneapolis-St Paul International
4              Los Angeles, CA: Los Angeles International
5                        Denver, CO: Denver International
6       Washington, DC: Ronald Reagan Washington National
7                      Orlando, FL: Orlando International
8           Phoenix, AZ: Phoenix Sky Harbor International
9                 Detroit, MI: Detroit Metro Wayne County
10                  Las Vegas, NV: McCarran International
11         San Francisco, CA: San Francisco International
12 Dallas/Fort Worth, TX: Dallas/Fort Worth International
13                        Boston, MA: Logan International
14           Philadelphia, PA: Philadelphia International
15               Newark, NJ: Newark Liberty International

我还有一个名为df的数据框

      id numArrivals
1  10397         964
2  12953         962
3  13487         883
4  12892         823
5  11292         776
6  11278         771
7  13204         725
8  14107         700
9  11433         672
10 12889         647
11 14771         611
12 11298         580
13 10721         569
14 14100         567
15 11618         488

ID对应机场名称10397Atlanta, GA: Hartsfield-Jackson Atlanta International,并按顺序继续。

然而,当我跑步时:

plotly::plot_ly(df,x=ty["Name"],y=df$numArrivals,type="bar",color=I("rgba(0,92,124,1)"))

我获得了this图表。

如何将酒吧的标签变成机场名称而不仅仅是数字?

1 个答案:

答案 0 :(得分:0)

随意使用ggplotly()创建你的情节。我使用下面的代码创建了一个小例子。

example <- data.frame(airport = c("Atlanta, GA: Hartsfield-Jackson Atlanta International","New York, NY: LaGuardia","Minneapolis, MN: Minneapolis-St Paul International"),
              id = c(10397,12953,13487),
              numArrivals = c(964,962,883),stringsAsFactors = F)

library(ggplot2)
library(plotly)

a <- ggplot(example,aes(x=airport,y=numArrivals,fill=id)) + geom_bar(stat = "identity") + coord_flip()
ggplotly(a)

最终结果如下所示。 enter image description here