我正在制作一个线图,其中线条粗细被映射到第三个连续变量.但是,当将变量映射到size参数时geom_line,得到的图会产生一个断开的外观线的"粗略"图.有没有办法可以平滑地混合这些线条,以便线段之间没有明显的间隙?
我在下面制作了一个可重现的例子.
data(mtcars)
require(ggplot2)
mtcars$am<-factor(mtcars$am)
ggplot(data=mtcars,aes(x=mpg,y=hp))+geom_line(aes(color=am,size=disp))
Run Code Online (Sandbox Code Playgroud)
产生以下情节:

例如,我想将am = 0的第一个线段的边界与第二个线段的边界混合.
谢谢您的帮助.
我正在处理一些我希望显示为nxn网格图的数据.编辑:更清楚的是,我的数据中有21个类别.我希望按类别划分,并将这21个图形放在一个5 x 5平方网格中(其中孤儿本身位于第五行).因此facet_wrap而不是facet_grid.
我已经编写了以下代码(使用旧的虹膜数据集作为我可重现的示例):
library(ggplot2)
library(grid)
cust_theme <- theme_bw() + theme(legend.position="none",
axis.title = element_blank(), axis.ticks = element_blank(),
axis.text = element_blank(), strip.text = element_blank(),
strip.background = element_blank(), panel.margin = unit(0, "lines"),
panel.border = element_rect(size = 0.25, color = "black"),
panel.grid = element_blank())
iris.plot <- ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() + cust_theme + facet_wrap( ~ Species, ncol = 2) +
labs(title = "Irises by species")
Run Code Online (Sandbox Code Playgroud)
这给了我几乎我想要的东西,但并不完全:

我在最上面一排的地块和底行之间仍然留有一小块空间.我想完全摆脱它,但panel.margin显然没有这样做.有没有办法做到这一点?
为了生成可复制的示例,我将不得不提交shapefile数据等,这对您来说很麻烦(下载数据等),所以这里只是提供最后一部分而且是关于 ggplot
这是示例代码:
cols <- colorRampPalette(c("darkgreen","yellow","red"), space = "rgb")
myPal <- cols(11)
ggplot(data=df, aes(x=long, y=lat, group=group)) +
geom_polygon(aes(fill = measure))+ # draw polygons
coord_equal() +
scale_x_continuous(breaks = as.numeric(levels(factor(df$measure))))+
scale_fill_manual(values = myPal)+
labs(title="mesure level", x="", y="")+
theme(axis.text=element_blank(),axis.ticks=element_blank())
Run Code Online (Sandbox Code Playgroud)
基本上,我试图通过定义颜色范围来应用我自己的颜色来填充区域.以上不起作用,因为它产生错误:
Error: Continuous value supplied to discrete scale
Run Code Online (Sandbox Code Playgroud)
编辑:但是这有效:
ggplot(data=df, aes(x=long, y=lat, group=group)) +
geom_polygon(aes(fill = measure))+ # draw polygons
coord_equal() +
geom_path(color="grey", linestyle=2)+
scale_fill_gradient(low = "#ffffcc", high = "#ff4444",
space = "Lab", na.value = "grey50",
guide = "colourbar")+
labs(title="measure level", x="", y="")+
theme(axis.text=element_blank(),axis.ticks=element_blank()) …Run Code Online (Sandbox Code Playgroud) p = ggplot(plasma1, aes(x=Day, y=Control, colour=Supp))
+ theme(panel.background = element_rect(fill='white', colour='black'))
+ geom_point(size=2, shape=21)
+ geom_errorbar(aes(ymin=Control-SEMcontrol, ymax=Control+SEMcontrol), width=1)
p + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
+ xlab("X") + ylab("Y") + geom_line(linetype="dashed")
Run Code Online (Sandbox Code Playgroud)
我看过themes(),但似乎只能更改网格线,而不能更改趋势线。(理想情况下,我想将红色和蓝色更改为红色和黑色
我有一种情况,我有两个不同时间段的不同数据集.虽然许多列是相同的,但有些不是.这些"不同"列是应保留的辅助数据.
我想组合这两个数据集,留下NA不存在的值.请注意,这两个表没有任何外键,不应该连接,只是堆叠在一起.
例:
data.a <- structure(list(lat = c(50L, -30L, -33L), lon = c(-40L, -30L,
-50L), mag = c(3.5, 1.1, 2.3)), .Names = c("lat", "lon", "mag"
), class = "data.frame", row.names = c(NA, -3L))
data.b <- structure(list(lat = c(44L, -30L, -33L), lon = c(-40L, -30L,
-55L), elev = c(1050, 2.4, 2.3)), .Names = c("lat", "lon", "elev"
), class = "data.frame", row.names = c(NA, -3L))
data.a
lat lon mag
50 -40 3.5
-30 -30 1.1
-33 -50 2.3
data.b
lat …Run Code Online (Sandbox Code Playgroud) 我正在研究加拿大的简单人口密度图。我已经根据邮政编码和经/纬度人口数据在这里
我想改进绘图以显示随着点密度增加的颜色变化。这是我的代码:
library(maptools)
library(gdata)
library(RColorBrewer)
library(classInt)
library(maps)
library(ggplot2)
library(ggmap)
Canada <- get_map(location="Canada", zoom=3, maptype="terrain")
ggmap(Canada, extent="normal") + geom_point(data=PopDensity, aes(x=LONG,y=LAT,size=POPULATION),
alpha = 0.3)+scale_size_continuous(range=c(1,6))
Run Code Online (Sandbox Code Playgroud)
这产生了一个像

我真正想要的是一种使数据点保持相同大小的方法,但不是使点透明,而是根据点密度改变颜色。
我有一个包含一些域名的表
site
1 Google.com
2 yahoo.in
3 facebook.com
4 badge.net
Run Code Online (Sandbox Code Playgroud)
所以,我想删除"."之后的所有单词.例如(.com,.net,.in).我使用下面的函数,但将我的字符串转换为数字形式.
gsub("\\..*","",df)
Run Code Online (Sandbox Code Playgroud) 我在专栏中有以下模式
xyz@gmail.com
abc@hotmail.com
Run Code Online (Sandbox Code Playgroud)
现在,我想@在.gmail和hotmail 之前和之后提取文本。我可以.使用以下代码提取文本。
sub(".*@", "", email)
Run Code Online (Sandbox Code Playgroud)
如何在上面进行修改以适合我的用例?
我正在尝试安装,RJava但我不能.以下是我认为可用于排除错误的文件和输出.我检查了类似的问题,但我的错误与发布的其他问题不同
这是错误输出,已删除一些冗余行
install.packages("rJava")
installing *source* package ‘rJava’ ...
package ‘rJava’ successfully unpacked and MD5 sums checked
checking for gcc... gcc -std=gnu99
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking whether Java interpreter works... checking whether JNI programs can be compiled... yes
checking whether JNI programs can be run... yes
checking JNI data types... ok
checking whether Rinterface.h exports R_CStackXXX variables... yes
checking whether Rinterface.h exports R_SignalHandlers... yes
configure: creating …Run Code Online (Sandbox Code Playgroud) 我有一个请求,在curl这样的
curl -H "Content-Type:application/json" \
-X GET 127.0.0.1:8084/clusterpredict/byheaders \
-v \
-b "text1" \
-A "text2"
Run Code Online (Sandbox Code Playgroud)
如何在R中执行相同的操作RCurl或httr在R中执行相同的操作?