我在 R 中用 ggplot2 创建了一个直方图,需要一个对数间隔的 x 轴,但想保留我的线性值。
这可能吗?
到目前为止,我的公式是:
ggplot(f0peruttnq, aes(f0)) +
geom_histogram(alpha=0.3, fill='white', colour='black')
Run Code Online (Sandbox Code Playgroud)
有点跑题:我还尝试在直方图上叠加一条正常曲线,但是如果我想保留计数而不是 x 轴上的密度值, geom_density() 似乎不起作用。当我尝试 + stat_function( fun = dnorm ) 时,根本没有任何改变!
在此先感谢您提供任何有用的提示!
它现在工作了!
我使用的公式:
ggplot(data, aes(V2)) + geom_histogram(alpha=0.3, fill='white', colour='black')+scale_x_log10(breaks=c(50,100,150,200,250),labels=c(50,100,150,200,250))
Run Code Online (Sandbox Code Playgroud)
谢谢你的耐心 :-)
Stephen Few最近推出了Bandlines,这是Edward Tufte的Sparklines的延伸.有没有一种简单的方法来使用ggplot2生成这些类型的图?
我想出了如何从ggplot获取每个bin的计数,是否有人知道如何在图上显示这些数字?
g <- ggplot()+geom_histogram()
ggplot_build(g)$data[[1]]$count
Run Code Online (Sandbox Code Playgroud) 我正在尝试用ggplot2绘制一个饼图.我的代码如下所示.
df <- data.frame(
variable = c("australia","hungary","germany","france","canada"),
value = c(632,20,491,991,20)
)
ggplot(df, aes(x = "", y = value, fill = variable)) +
geom_bar(width = 1, stat = "identity") +
scale_fill_manual(values = c("red", "yellow","blue", "green", "cyan")) +
coord_polar(theta = "y") +
labs(title = "pie chart")
Run Code Online (Sandbox Code Playgroud)
我想显示百分比值.我怎样才能做到这一点?
我正在将csv文件上传到一个闪亮的过滤器并尝试从所选列中绘制ggplot.
output$plot = renderPlot(
{
df <- data_set()
gp <- NULL
if (!is.null(df)){
xv <- input$xaxisGrp
yv <- input$yaxisGrp
if (!is.null(xv) & !is.null(yv)){
if (sum(xv %in% names(df))>0){ # supress error when changing files
mdf <- melt(df,id.vars=xv,measure.vars=yv)
gp <- ggplot(data=mdf) +
geom_point(aes_string(x=xv,y="value",color="variable"))+
geom_smooth(method="lm")+
theme(axis.text.x=element_text(angle=45, hjust=1))+
theme_hc() +
scale_colour_hc()+theme(legend.title=element_blank())
}
}
}
return(gp)
}
Run Code Online (Sandbox Code Playgroud)
我可以创建图表但是当我尝试添加时
+geom_smooth(method="lm")
Run Code Online (Sandbox Code Playgroud)
我没有得到任何想法可能发生的lm线?
给定这样的数据集:
dput(df)
structure(list(load = c(1L, 18L, 36L, 72L, 108L, 144L, 216L),
throughput = c(64.9, 995.9, 1652.4, 1853.2, 1828.9, 1775,
1702.2)), .Names = c("load", "throughput"), class …Run Code Online (Sandbox Code Playgroud) 我想在ggplot中将符号放在我的方面之间,以便可视化不同方面之间的关系,例如:
? + ? - ? = ?
Run Code Online (Sandbox Code Playgroud)
每个方格都是一个方面.这可能吗?
我有一个数据框,有几个月的日期和CPU利用率数据.我可以像这样创建一个平滑的gplot:
qplot(Date, CPU, data=app1, geom=c("line", "smooth"), method = "lm",
ylab="CPU", xlab="Date", main=")
Run Code Online (Sandbox Code Playgroud)
这不显示日期,只显示几个日期.如果日期大于或小于平滑线,是否可以显示重要日期?
再次,如果我问了太多问题,我很抱歉.我只是在学习R并经历了第一次痛苦.
数据看起来像这样:
Date CPU
3/10/2012 0:00 28.7
3/9/2012 0:00 94.1
3/2/2012 0:00 82.7
2/23/2012 0:00 68.5
2/22/2012 0:00 67.4
2/10/2012 0:00 100
2/6/2012 0:00 100
2/4/2012 0:00 89.4974
2/3/2012 0:00 100
2/1/2012 0:00 100
1/29/2012 0:00 57.4693
1/25/2012 0:00 100
1/21/2012 0:00 98.2085
1/20/2012 0:00 99.9987
1/19/2012 0:00 99.9698
1/17/2012 0:00 99.9802
1/15/2012 0:00 51.5781
1/14/2012 0:00 86.5854
1/12/2012 0:00 100
1/10/2012 0:00 100
1/8/2012 0:00 48.3474 …Run Code Online (Sandbox Code Playgroud) 我有这个数据框叫mydf.我在(count)个体中有多个突变基因.我将它与已发布的数据(old_counts)进行比较.我想绘制这些数据以与我的数据进行比较(并排条形图是合适的).任何没有旧数据价值的基因,我想在图中标记为"新"(例如,对于TTYR基因,我想在标记下面标记为新的counts).
mydf
gene counts old_counts
GPT 13 12
TTYR 1
GTT 2 5
JUN 3 2
Run Code Online (Sandbox Code Playgroud) 您好,我想基本上准确地说明这篇文章是R-plot数字而不是点, 而是在ggplot中。
我有一个数据框。我想绘制x和y。简单。我还为所有要点提供了第三列ID。我想从第三列而不是常规点中绘制这些ID。ID是1-300之间的数字。
这里我的数据集附在.csv文件中.有些身体可以通过在R中使用ggplot2来帮助我制作疾病图.
谢谢
Towns Observed Expected Latitude Longitude
Jarawala Town 183 34.584 31.33429 73.419487
Sumindri Town 59 5.6927 31.0690531 72.9361303
Tandiawala Town 28 2.8326 31.0316667 73.1316667
Jhumra Town 23 1.0923 31.5666667 73.1833333
Madina Town 127 21.95 31.4178652 73.120208
Iqbal Town 40 6.9147 31.4932177 73.1051778
Jinnah Town 43 16.89 31.4144303 73.0768364
Layyalpur Town 97 38.121 31.4401011 73.0680131
Run Code Online (Sandbox Code Playgroud) 大家好,我不熟悉ggplot2.现在我对它有疑问.以下是生成一个图的代码
data <- data.frame(age=sample(c("25-29","30-34"),100,rep=TRUE),ratio=rnorm(100,mean=1,sd=0.3))
library(ggplot2)
qplot(ratio, data=data, geom="bar", fill=age, binwidth=0.1)
Run Code Online (Sandbox Code Playgroud)

这是我的问题.
(1)如何改变直方图的颜色?
(2)如何将图例放在面板中?
(3)如何改变背景颜色?
首先十分感谢!
我正在为以下代码摸不着头脑.
我跟着这个例子:
如何使用grid.arrange安排任意数量的ggplots?
我想收集这些图并将它们放在3x9网格上,每个网格都有合适的标签......
但它不起作用.生成的pdf仍然是每页一个图 - 因此生成了27个页面.
我试图使用"grid.arrange",然而,函数"plotFunctionWrittenByOtherPeople"是由其他人编写的,它没有返回绘图的句柄......而且它非常复杂.
如何很好地安排情节?
有人可以对此有所了解吗?
非常感谢!
pdf("mytry1.pdf", width = 11, height = 8.5)
par(mfrow=c(3, 9))
for (a in seq(100, 900, by=100))
for (b in c(1, 3, 6))
{
plotFunctionWrittenByOtherPeople(a, b)
}
dev.off()
Run Code Online (Sandbox Code Playgroud) 我找了一会儿,无法找到一个讨论类似问题的帖子.我遇到了日期缩放的问题ggplot,我认为这与ggplot处理日期的方式有关.我试图摆脱列之间的所有空白区域,因为我的最终结果将类似于以下内容,这是一个容量规划图表,显示跨越几个月的项目:

即使使用默认的缩放和宽度参数,列之间的间隙也显示不一致,这使我相信这ggplot可能是以设定的宽度绘制所有列,而是将它们放在相对于每个月的天数的x轴上.但是,即使在创建"月长度"变量以独立缩放每个列之后,我也无法将所有间隙关闭,而不会导致其他间隙重叠.有人可以提供一些有关ggplot处理日期的见解吗?
以下是一些可重现的代码:
library(lubridate)
library(ggplot2)
library(scales)
Months <- c("2015-01-01", "2015-02-01", "2015-03-01", "2015-04-01", "2015-05-01",
"2015-06-01", "2015-07-01", "2015-08-01", "2015-09-01", "2015-10-01")
Months <- as.Date(Months)
Totals <- c(1330, 1010, 950, 1110, 1020, 1160, 1320, 880, 620, 320)
df <- data.frame(Months, Totals)
df$MonthLength <- days_in_month(as.Date(df$Month))
ggplot()+
geom_bar(data=df, aes (x = Months, y = Totals, fill = Months, width = MonthLength),
position = "dodge", stat = "identity", alpha = 0.80)+
coord_cartesian(ylim = c(0, 1600))+
scale_x_date(breaks="1 month",limits=c(as.Date("2015-01-01"),as.Date("2015-10-01")),
labels = …Run Code Online (Sandbox Code Playgroud)