楼主: wangjiajun2010
2345 2

[问答] 求救!ggplot2运行出现 must specify method= argument的错误? [推广有奖]

  • 26关注
  • 3粉丝

已卖:90份资源

院士

28%

还不是VIP/贵宾

-

威望
0
论坛币
73 个
通用积分
20.7241
学术水平
11 点
热心指数
11 点
信用等级
5 点
经验
556 点
帖子
1118
精华
0
在线时间
5917 小时
注册时间
2010-8-10
最后登录
2025-12-17

楼主
wangjiajun2010 发表于 2016-11-29 17:35:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
library(maps)
library(ggplot2)
library(maptools)
library(directlabels)
library(mapproj)
library(plyr)
library(reshape2)

setwd("E://Ryuyan")
mymap <-readShapePoly("bou2_4p.shp")#读取地图
mymapd <- fortify(mymap)#打散地图为数据框,方便ggplot读取
## Regions defined for each Polygons
temp<-mymap@data#提取地图省份
x<-mymap@data
xs<-data.frame(x,id=seq(0:924)-1)#给省份编写id
china_mapdata<-join(mymapd, xs, type = "full") #将打散的数据以省份分组

geshengdata <- read.csv("gesheng.csv", header = T,
                       sep = ",", stringsAsFactors = F)
NAME <- geshengdata[,1]
fre <- geshengdata[,2]
mydata1<-data.frame(NAME,fre)
mydata1<-join(mydata1,xs,type="full")
fre<-data.frame(NAME,fre)
china_fre<-join(mydata1, fre, type = "full")
id <- mydata1idmyepidat<−data.frame(id=unique(sort(mymapdid)))
shengdata<-read.csv("jw.csv",header = T,
                       sep = ",", stringsAsFactors = F)

temp <- data.frame(NAME =NAME,lat=shengdatajd,long=shengdatawd)#给各地名称一个经纬度


ggplot(myepidat) + geom_map(aes(map_id = id, fill = fre), color = "white", map = mymapd) +
  geom_point(data = temp,aes(x = long, y = lat,fill = NULL),
             color = rgb(red = 165, green = 165, blue = 165, max = 255)) +
  geom_dl(data = temp,aes(x = long, y = lat,label = NAME),
          list('last.points',cex = 0.7, hjust = 1))+#设置省会标签,让省会标签随机移动一点距离以免过分重叠
  scale_fill_gradient(name="",
                      high = rgb(red = 254, green = 67, blue = 101, max = 255),
                      low = rgb(red = 162, green = 162, blue = 145, max = 255),
                      breaks = c(0, 103, 153, 153, 202, 317, 581)) +
coord_map()+
  theme(legend.text=element_text(size=10))

一直出错显示Error in ggplot2::layer(data = data, mapping = mapping, geom = GeomDl,  :
  must specify method= argument。
以前运行同样的程序是没有问题的,求大神解答是什么原因?
二维码

扫码加我 拉你入群

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

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

关键词:argument ggplot2 specify Method gplot library method

沙发
ccs0531 发表于 2018-7-15 19:16:48
geom_dl(mapping = NULL, data = NULL, ..., method = stop("must specify method= argument"),
    debug = FALSE, na.rm = TRUE, parse = FALSE, stat = "identity",
    position = "identity", inherit.aes = TRUE)

藤椅
ccs0531 发表于 2018-7-17 09:20:41
经高人指点,这个问题这样解决:
geom_dl(data = temp,aes(x = long, y = lat,label = NAME),
        method = list('last.points',cex = 0.7, hjust = 1))+#设置省会标签,让省会标签随机移动一点距离以免过分重叠,注意加上method = !!!
已有 1 人评分论坛币 收起 理由
admin_kefu + 30 热心帮助其他会员

总评分: 论坛币 + 30   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 23:52