显然,民间已经想出了如何在Mathematica和LaTeX中制作xkcd风格的图形.我们可以用R做吗?GGPLOT2-ERS?一个geom_xkcd和/或theme_xkcd?
我想在基本图形中,par(xkcd = TRUE)?我该怎么做?

作为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以获取类似抖动的参数?
我有一个图,其中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)
我想在同一个图中绘制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中做到这一点吗?
我绘制以下内容:
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=-5000来5000,而不是整个范围.
我怎样才能做到这一点?
我想使用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) 我使用R绘制一个简单的线性回归.我想将该图像保存为PNG或JPEG,是否可以自动执行?(通过代码)
有两个不同的问题:首先,我已经在我的显示器上查看情节了,我想保存原样.其次,我还没有生成情节,但是当我执行绘图代码时,我想直接将它保存到磁盘.
这是一个非常新的问题,但我说有这样的数据:
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轴上使用?绘制时间序列var0和var1同一图表?奖励积分,如果你做和不同的颜色,并且可以包括一个传奇!dateggplot2var0var1
我确信这很简单,但我找不到任何例子.
我试图制作一个条形图,其中最大的条最接近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轴,守门员一个,最后是前锋一个.谢谢
我有如下图.它是使用此命令创建的:
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)
但它不起作用.什么是正确的方法呢?

嗨,这个简单的代码(以及今天早上的所有脚本)已经开始在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)