标签: ggplot2

如何使用ggplot2在R中制作具有透明背景的图形?

我需要从透明背景输出从R到PNG文件的ggplot2图形.基本的R图形一切都很好,但ggplot2没有透明度:

d <- rnorm(100) #generating random data

#this returns transparent png
png('tr_tst1.png',width=300,height=300,units="px",bg = "transparent")
boxplot(d)
dev.off()

df <- data.frame(y=d,x=1)
p <- ggplot(df) + stat_boxplot(aes(x = x,y=y)) 
p <- p + opts(
    panel.background = theme_rect(fill = "transparent",colour = NA), # or theme_blank()
    panel.grid.minor = theme_blank(), 
    panel.grid.major = theme_blank()
)
#returns white background
png('tr_tst2.png',width=300,height=300,units="px",bg = "transparent")
p
dev.off()
Run Code Online (Sandbox Code Playgroud)

有没有办法用ggplot2获得透明背景?

graphics transparency r ggplot2

113
推荐指数
3
解决办法
8万
查看次数

如何使用ggplot更改轴上数字的格式?

我正在使用R和ggplot来绘制一些数据的散点图,一切都很好,除了y轴上的数字是用计算机风格的指数格式出来的,即4e + 05,5e + 05等.这显然很明显不可接受,所以我想把它显示为500,000,400,000等等.获得正确的指数表示法也是可以接受的.

该图的代码如下:

p <- ggplot(valids, aes(x=Test, y=Values)) +
  geom_point(position="jitter") +
  facet_grid(. ~ Facet) +
  scale_y_continuous(name="Fluorescent intensity/arbitrary units") +
  scale_x_discrete(name="Test repeat") +
  stat_summary(fun.ymin=median, fun.ymax=median, fun.y=median, geom="crossbar")
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

r ggplot2

112
推荐指数
5
解决办法
11万
查看次数

如何在ggplot中更改线宽?

数据链接:使用 的数据

我的代码:

ccfsisims <- read.csv(file = "F:/Purdue University/RA_Position/PhD_ResearchandDissert/PhD_Draft/GTAP-CGE/GTAP_NewAggDatabase/NewFiles/GTAP_ConsIndex.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE)
ccfsirsts <- as.data.frame(ccfsisims)
ccfsirsts[6:24] <- sapply(ccfsirsts[6:24],as.numeric)
ccfsirsts <- droplevels(ccfsirsts)
ccfsirsts <- transform(ccfsirsts,sres=factor(sres,levels=unique(sres)))

library(ggplot2)

#------------------------------------------------------------------------------------------
#### Plot of food security index for Morocco and Turkey by sector
#------------------------------------------------------------------------------------------

#_Code_Begin...

datamortur <- melt(ccfsirsts[ccfsirsts$region %in% c("TUR","MAR"), ]) # Selecting regions of interest
datamortur1 <- datamortur[datamortur$variable %in% c("pFSI2"), ] # Selecting the food security index of interest
datamortur2 <- datamortur1[datamortur1$sector %in% c("wht","gro","VegtFrut","osd","OthCrop","VegtOil","XPrFood"), ] # Selecting food sectors of interest
datamortur3 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 line-plot

112
推荐指数
5
解决办法
25万
查看次数

使用ggplot2时持久无效的图形状态错误

我相信我的数据帧是可以的,我的代码还可以.实际上,我已经删除了部分数据框和大部分图形代码,以使事情尽可能基本.但是,我仍然得到:

Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) : 
  invalid graphics state
Run Code Online (Sandbox Code Playgroud)

这有什么不对?这是数据:

 date   trt var val
1/8/2008    cc  sw5 0.2684138
1/8/2008    cc  sw15    0.2897586
1/8/2008    cc  sw5 0.2822414
2/8/2008    cc  sw5 0.2494583
2/8/2008    cc  sw5 0.2692917
2/8/2008    cc  sw15    0.2619167
2/8/2008    cc  sw5 0.204375
3/8/2008    cc  sw5 0.2430625
3/8/2008    cc  sw5 0.2654375
3/8/2008    cc  sw5 0.2509583
3/8/2008    cc  sw5 0.2055625
1/8/2008    ccw sw15    0.2212414
1/8/2008    ccw sw5 0.3613448
1/8/2008    ccw sw5 0.2607586
2/8/2008    ccw sw5 0.2087917
2/8/2008    ccw sw15    0.3390417
2/8/2008 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

112
推荐指数
3
解决办法
11万
查看次数

有没有办法在ggplot2中更改图例项之间的间距?

有没有办法在ggplot2中更改图例项之间的间距?我现在有

legend.position ="top" 
Run Code Online (Sandbox Code Playgroud)

它会自动生成水平图例.然而,物品的间距非常接近,我想知道如何将它们分开更远.

r legend ggplot2

108
推荐指数
8
解决办法
7万
查看次数

编辑ggplot中的图例(文本)标签

我花了几个小时查看文档和StackOverflow,但没有解决方案似乎解决了我的问题.使用时ggplot我无法在图例中获得正确的文本,即使它在我的数据框中.我曾尝试scale_colour_manual,scale_fill_manual对不同的值labels=,例如c("T999", "T888")", "cols".

这是我的代码:

T999 <- runif(10, 100, 200)
T888 <- runif(10, 200, 300)
TY <- runif(10, 20, 30)
df <- data.frame(T999, T888, TY)


ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) + 
       geom_point(size = 15, colour = "darkblue") + 
       geom_point(data = df, aes(x=T888, y=TY), colour = 'red', size = 10 ) + 
       theme(axis.text.x = element_text(size = 20), axis.title.x =element_text(size = 20),   axis.text.y = element_text(size = 20)) +
       xlab("Txxx") + ylab("TY [°C]") …
Run Code Online (Sandbox Code Playgroud)

text label r ggplot2

108
推荐指数
2
解决办法
27万
查看次数

使用美学和geom_text时,从图例中删除"a"

如何从此代码生成的图例中删除字母"a"?如果我删除了geom_text,那么'a'字母将不会显示在图例中.不过我想保留geom_text.

ggplot(data = iris, aes(x = Sepal.Length, y=Sepal.Width, shape = Species, colour = Species)) + 
   geom_point() + 
   geom_text(aes(label = Species))
Run Code Online (Sandbox Code Playgroud)

r ggplot2 aesthetics

107
推荐指数
5
解决办法
2万
查看次数

R:ggplot如果在for循环中,它不起作用,尽管它在它之外工作

我正在使用一个简单的ggplot函数,它在循环外工作正常,但即使迭代值不干扰ggplot函数也不在内部.为什么会这样?

这是我的代码

x=1:7
y=1:7
df = data.frame(x=x,y=y)
ggplot(df,aes(x,y))+geom_point()
Run Code Online (Sandbox Code Playgroud)

有用 !但是如果ggplot在for循环中...

for (i in 1:5) {
   ggplot(df,aes(x,y))+geom_point()
}
Run Code Online (Sandbox Code Playgroud)

......它不再起作用了!我错过了什么?

谢谢

for-loop r ggplot2

105
推荐指数
1
解决办法
6万
查看次数

左对齐两个图形边(ggplot)

我正在使用ggplot并且有两个图表,我希望彼此叠加显示.我使用grid.arrangegridExtra来堆叠它们.问题是,无论轴标签如何,我都希望图形的左边缘与右边缘对齐.(问题出现是因为一个图的标签很短而另一个图很长).

问题:
我该怎么做?我没有和grid.arrange结婚,但ggplot2是必须的.

我尝试了什么:
我尝试使用宽度和高度以及ncol和nrow来制作2 x 2网格并将视觉效果放在相对的角落然后玩宽度但我无法在对角处获得视觉效果.

require(ggplot2);require(gridExtra)
A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +coord_flip() 
B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip() 
grid.arrange(A, B, ncol=1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2 gridextra gtable

104
推荐指数
6
解决办法
3万
查看次数

在geom_bar ggplot2中重新排序条形图

我正在尝试制作一个条形图,其中情节从miRNA最高valuemiRNA最低排序.为什么我的代码不起作用?

> head(corr.m)

        miRNA         variable value
1    mmu-miR-532-3p      pos     7
2    mmu-miR-1983        pos    75
3    mmu-miR-301a-3p     pos    70
4    mmu-miR-96-5p       pos     5
5    mmu-miR-139-5p      pos    10
6    mmu-miR-5097        pos    47

ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) + 
  geom_bar(stat="identity")
Run Code Online (Sandbox Code Playgroud)

r ggplot2

104
推荐指数
2
解决办法
12万
查看次数

标签 统计

ggplot2 ×10

r ×10

aesthetics ×1

for-loop ×1

graphics ×1

gridextra ×1

gtable ×1

label ×1

legend ×1

line-plot ×1

text ×1

transparency ×1