帮助理解如何使用 ggplot2 制作条形图

发布于 2024-10-09 15:08:08 字数 728 浏览 1 评论 0原文

我正在尝试使用 ggplot2 的 bar_geom 函数,但我不明白如何使用它。我制作了一个小代码示例来展示我想要做的事情:

library(ggplot2)

# sample data
sampleData = data.frame( 
 v1=c('a','b','c','d','e', 'f','g', 'h', 'i','j'), 
 v2=c(1:10)     
)    
sampleData$Names = data.frame( Names = paste(sampleData$v1, sampleData$v2, sep="") )    
sampleData$Values = c(1:10)

# make plot
x = sampleData$Values
y = sampleData$Names 

qplot(      
    x, y, data = sampleData,
    geom="bar"  
)

我希望 sampleData$Names 位于图表的 x 轴上,标记每个条形图和 SampleData$Values 来缩放条形高度。我希望将 y 轴指定为一个范围。我意识到我不明白 ggplot2 是如何工作的,因为这个小例子不起作用,但我的另一个例子正在生成一个图,但我无法指定 y 范围,因为它认为变量是分类的。

I'm trying to use the bar_geom function of ggplot2, but I can't understand how to use it. I've made a small sample of my code to show what I am trying to do:

library(ggplot2)

# sample data
sampleData = data.frame( 
 v1=c('a','b','c','d','e', 'f','g', 'h', 'i','j'), 
 v2=c(1:10)     
)    
sampleData$Names = data.frame( Names = paste(sampleData$v1, sampleData$v2, sep="") )    
sampleData$Values = c(1:10)

# make plot
x = sampleData$Values
y = sampleData$Names 

qplot(      
    x, y, data = sampleData,
    geom="bar"  
)

I want sampleData$Names to be on the x-axis of my graph, labeling each bar and and sampleData$Values to scale the bar height. I want the y-axis to be specified as a range. I realize that I don't understand how ggplot2 functions as this small example does not work, yet my other example is generating a plot but I cannot specify a y-range as it considers the variables to be categorical.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

昵称有卵用 2024-10-16 15:08:08

qplot 需要 sampleData 数据框中的列名称,而将“Names”列设置为数据框的代码也很奇怪。以下更简单的版本有效:

sampleData = data.frame( 
 v1=c('a','b','c','d','e', 'f','g', 'h', 'i','j'), 
 v2=c(1:10)     
)

sampleData = transform( sampleData, Names = paste(v1, v2, sep=''))

qplot(   Names, v2, data = sampleData,    geom="bar"  )

alt text

qplot expects column names within the sampleData data-frame, and your code where you set the 'Names' column to a data-frame is also strange. The following simpler version works:

sampleData = data.frame( 
 v1=c('a','b','c','d','e', 'f','g', 'h', 'i','j'), 
 v2=c(1:10)     
)

sampleData = transform( sampleData, Names = paste(v1, v2, sep=''))

qplot(   Names, v2, data = sampleData,    geom="bar"  )

alt text

动听の歌 2024-10-16 15:08:08

另一个与 pchalasani 得到的结果相同的快速绘图是

qplot(v1, v2, geom = "bar", stat = "identity", data = sampleData)

特别注意参数 stat

Another quick plot with the same results as pchalasani got is with

qplot(v1, v2, geom = "bar", stat = "identity", data = sampleData)

Pay special attention to the argument stat.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文