全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
16173 1
2015-04-02
各位老师好:

本人在利用ggplot统计某一业务在各种场景区域的分布,原始数据如下:(以DATA FRAME格式,数据框名字tbn2)
           场景        Freq
1      城区道路 0.044992743
2        城中村 0.008708273
3          村庄 0.477503628
4    党政军机关 0.002902758
5          地铁 0.004354136
6        风景区 0.007256894
7      高速公路 0.010159652
8          高校 0.000000000
9      工业园区 0.008708273
10         公园 0.000000000
11     国道省道 0.029027576
12         机场 0.001451379
13     郊区道路 0.033381713
14   近水近海域 0.010159652
15       居民区 0.101596517
16         码头 0.000000000
17         普铁 0.005805515
18         其他 0.002902758
19   企事业单位 0.002902758
20     商业中心 0.001451379
21         未知 0.000000000
22         乡镇 0.227866473
23       写字楼 0.001451379
24     星级酒店 0.008708273
25 休闲娱乐场所 0.002902758
26         医院 0.000000000
27   长途汽车站 0.000000000
28       中小学 0.005805515


本人通过如下语句对各种场景的顺序按照分布比例的大小进行排列
tbn2$场景 <-  reorder(tbn2$场景, tbn2$Freq*(-1))
通过调整,了解到“场景”的顺序已经发现变化:
> tbn2$场景
[1] 城区道路     城中村       村庄         党政军机关   地铁         风景区      
[7] 高速公路     高校         工业园区     公园         国道省道     机场        
[13] 郊区道路     近水近海域   居民区       码头         普铁         其他        
[19] 企事业单位   商业中心     未知         乡镇         写字楼       星级酒店   
[25] 休闲娱乐场所 医院         长途汽车站   中小学      
attr(,"scores")
    城区道路       城中村         村庄   党政军机关         地铁       风景区
-0.044992743 -0.008708273 -0.477503628 -0.002902758 -0.004354136 -0.007256894
    高速公路         高校     工业园区         公园     国道省道         机场
-0.010159652  0.000000000 -0.008708273  0.000000000 -0.029027576 -0.001451379
    郊区道路   近水近海域       居民区         码头         普铁         其他
-0.033381713 -0.010159652 -0.101596517  0.000000000 -0.005805515 -0.002902758
  企事业单位     商业中心         未知         乡镇       写字楼     星级酒店
-0.002902758 -0.001451379  0.000000000 -0.227866473 -0.001451379 -0.008708273
休闲娱乐场所         医院   长途汽车站       中小学
-0.002902758  0.000000000  0.000000000 -0.005805515
28 Levels: 村庄 乡镇 居民区 城区道路 郊区道路 国道省道 高速公路 ... 长途汽车站


调整后,输入饼图的制作语句
> pie <- ggplot(tbn2, aes(x = "", y=Freq,fill = factor(场景),label=场景)) + geom_bar(stat="identity",width = 1)
> pie + coord_polar("y",direction=1)


得出的图片如下:
饼图

求解:如何能使饼图按照自己设定的level顺序(即图例)进行排列,使得各分块由大到小进行排放?
请各位老师指点,谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-4-3 17:15:58
在语句里的y轴加上想要排序的条件就可以,y=reorder(Freq)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群