标签: ggplot2

我们如何制作xkcd样式图?

显然,民间已经想出了如何在MathematicaLaTeX中制作xkcd风格的图形.我们可以用R做吗?GGPLOT2-ERS?一个geom_xkcd和/或theme_xkcd?

我想在基本图形中,par(xkcd = TRUE)?我该怎么做?

XKCD#1064

作为ggplot2中的第一个刺(并且在下面更加优雅地显示),将jitter参数添加到一行可以获得很好的手绘外观.所以 -

ggplot(mapping=aes(x=seq(1,10,.1), y=seq(1,10,.1))) + 
  geom_line(position="jitter", color="red", size=2) + theme_bw()
Run Code Online (Sandbox Code Playgroud)

这是一个很好的例子 - 但轴和字体显得比较棘手.但是,字体显示已解决(下方).处理轴的唯一方法是将它们清空并用手绘制它们吗?有更优雅的解决方案吗?特别是在ggplot2中,是否可以修改新主题系统中的element_line以获取类似抖动的参数?

plot r ggplot2

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

在ggplot2中旋转和间隔轴标签

我有一个图,其中x轴是标签很长的因子.虽然可能不是理想的可视化,但现在我想简单地将这些标签旋转为垂直.我已经用下面的代码想出了这个部分,但正如你所看到的,标签并不完全可见.

data(diamonds)
diamonds$cut <- paste("Super Dee-Duper",as.character(diamonds$cut))
q <- qplot(cut,carat,data=diamonds,geom="boxplot")
q + opts(axis.text.x=theme_text(angle=-90))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r labels ggplot2

607
推荐指数
7
解决办法
67万
查看次数

在R中的相同图中绘制两个图

我想在同一个图中绘制y1和y2.

x  <- seq(-2, 2, 0.05)
y1 <- pnorm(x)
y2 <- pnorm(x, 1, 1)
plot(x, y1, type = "l", col = "red")
plot(x, y2, type = "l", col = "green")
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做的时候,它们并没有被绘制在同一个地块中.

在Matlab中可以做到hold on,但有人知道如何在R中做到这一点吗?

plot r ggplot2 r-faq

529
推荐指数
16
解决办法
124万
查看次数

如何在ggplot2 R图中设置轴的限制?

我绘制以下内容:

library(ggplot2)    

carrots <- data.frame(length = rnorm(500000, 10000, 10000))
cukes <- data.frame(length = rnorm(50000, 10000, 20000))
carrots$veg <- 'carrot'
cukes$veg <- 'cuke'
vegLengths <- rbind(carrots, cukes)

ggplot(vegLengths, aes(length, fill = veg)) +
 geom_density(alpha = 0.2)
Run Code Online (Sandbox Code Playgroud)

现在说我只是想绘制之间的区域x=-50005000,而不是整个范围.

我怎样才能做到这一点?

plot r ggplot2

336
推荐指数
2
解决办法
55万
查看次数

与ggplot2并排绘制

我想使用ggplot2包并排放置两个图,即相当于par(mfrow=c(1,2)).

例如,我希望以下两个图表以相同的比例并排显示.

x <- rnorm(100)
eps <- rnorm(100,0,.2)
qplot(x,3*x+eps)
qplot(x,2*x+eps)
Run Code Online (Sandbox Code Playgroud)

我需要将它们放在相同的data.frame中吗?

qplot(displ, hwy, data=mpg, facets = . ~ year) + geom_smooth()
Run Code Online (Sandbox Code Playgroud)

visualization r ggplot2

315
推荐指数
10
解决办法
33万
查看次数

如何将图形保存为磁盘上的图像?

我使用R绘制一个简单的线性回归.我想将该图像保存为PNG或JPEG,是否可以自动执行?(通过代码)

有两个不同的问题:首先,我已经在我的显示器上查看情节了,我想保存原样.其次,我还没有生成情节,但是当我执行绘图代码时,我想直接将它保存到磁盘.

plot r ggplot2 lattice r-faq

297
推荐指数
6
解决办法
34万
查看次数

在同一图表上使用ggplot2将两个变量绘制为线条

这是一个非常新的问题,但我说有这样的数据:

test_data <-
  data.frame(
    var0 = 100 + c(0, cumsum(runif(49, -20, 20))),
    var1 = 150 + c(0, cumsum(runif(49, -10, 10))),
    date = seq(as.Date("2002-01-01"), by="1 month", length.out=100)
  )
Run Code Online (Sandbox Code Playgroud)

如何在x轴上使用?绘制时间序列var0var1同一图表?奖励积分,如果你做和不同的颜色,并且可以包括一个传奇!dateggplot2var0var1

我确信这很简单,但我找不到任何例子.

r graph time-series ggplot2 r-faq

293
推荐指数
5
解决办法
43万
查看次数

ggplot2条形图中的订单栏

我试图制作一个条形图,其中最大的条最接近y轴,最短的条最远.所以这有点像我的表

    Name   Position
1   James  Goalkeeper
2   Frank  Goalkeeper
3   Jean   Defense
4   Steve  Defense
5   John   Defense
6   Tim    Striker
Run Code Online (Sandbox Code Playgroud)

所以我正在尝试建立一个条形图,根据位置显示玩家数量

p <- ggplot(theTable, aes(x = Position)) + geom_bar(binwidth = 1)
Run Code Online (Sandbox Code Playgroud)

但是图表显示守门员杆然后是防守,最后是前锋一个.我希望图表被排序,以便防守栏最接近y轴,守门员一个,最后是前锋一个.谢谢

r ggplot2 r-faq

283
推荐指数
12
解决办法
29万
查看次数

如何在ggplot中更改图例标题

我有如下图.它是使用此命令创建的:

library(ggplot2)

df <- data.frame(cond = factor(rep(c("A", "B"), each = 200)), 
                 rating = c(rnorm(200), rnorm(200, mean=.8)))

ggplot(df, aes(x=rating, fill=cond)) + 
geom_density(alpha = .3) +
xlab("NEW RATING TITLE") +
ylab("NEW DENSITY TITLE")
Run Code Online (Sandbox Code Playgroud)

现在,接下来我要做的事情就是修改图例标题COND进入新里程TITLE.

所以我所做的只是添加以下行添加上面代码的结尾:

+labs(colour="NEW LEGEND TITLE")
Run Code Online (Sandbox Code Playgroud)

但它不起作用.什么是正确的方法呢?

在此输入图像描述

plot r ggplot2

254
推荐指数
8
解决办法
44万
查看次数

ggplot2中的中心绘图标题

嗨,这个简单的代码(以及今天早上的所有脚本)已经开始在ggplot2中给我一个偏离中心的标题

Ubuntu version: 16.04

R studio version: Version 0.99.896

R version: 3.3.2

GGPLOT2 version: 2.2.0
Run Code Online (Sandbox Code Playgroud)

今天早上我刚刚安装了上面这个以试图解决这个问题....

dat <- data.frame(
time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23)
)

# Add title, narrower bars, fill color, and change axis labels
ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) + 
  geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") + 
  guides(fill=FALSE) +
  xlab("Time of day") + ylab("Total bill") +
  ggtitle("Average bill for 2 people")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2

222
推荐指数
4
解决办法
28万
查看次数

标签 统计

ggplot2 ×10

r ×10

plot ×5

r-faq ×4

graph ×1

labels ×1

lattice ×1

time-series ×1

visualization ×1