2013-01-03 25 views
14

ggplot içinde geom_bar ve geom_histogram arasındaki fark nedir (varsa)? Aynı grafiği üretiyor ve aynı parametreleri alıyorlar.ggplot geom_bar - geom_histogram

+4

üzerinde bakarsanız? Eğer geom_histogram takma" olduğunu bulacaksınız geom_histogram geom_bar plus için stat_bin " –

+0

Bir matematikçi olarak konuşuyorum :-), adlar birbirine karışmaya eğilimli olsa bile, bir çubuk grafikten farklıdır. Vikipedi'den alıntılar, "Bir histogram, aralıktaki gözlemlerin frekansına eşit bir alana sahip ayrı aralıklarla (bölmeler) dikilen bitişik dikdörtgenler olarak gösterilen tablo frekanslarından oluşur. Dikdörtgenin yüksekliği de sıklığa eşittir. aralığın yoğunluğu, yani, aralığın genişliğine bölünen frekans, histogramın toplam alanı, veri sayısına eşittir."Bir çubuk arsa böyle bir alan kısıtlamaları yok –

+0

teşekkürler. Ancak geom_bar() bir stat_bin() uygulanmış gibi görünüyor, çünkü ..count .. ve ..density gibi stat_bin değişkenlerine erişebilirsiniz. – jamborta

cevap

11
  • Çubuk grafikler, kategorik verilerin görsel bir görünümünü sağlar. Örnekler:
    • kırmızı, siyah ve kahverengi saçlı geom_barhelp file de
    • Bak olan kişilerin sayısı. Örneklerin hepsi sayılır.
    • Ara page
  • Histogramlar interval (genellikle sayısal) veri yoğunluğunu çizmek için kullanılır. Örnekler, yaş ve boy
  • geom_histhelp file arasında
    • dağılımı. Örnekler film derecelendirmelerinin dağılımıdır. biraz daha araştırdıktan sonra ggplot2

, ben geom_bar ve geom_histogram arasında hiçbir fark yoktur ggplot2 düşünüyorum. Dokümanlar:

geom_histogram(mapping = NULL, data = NULL, stat = "bin", 
    position = "stack", ...) 
geom_bar(mapping = NULL, data = NULL, stat = "bin", 
    position = "stack", ...) 

ben geom_histogram docs bu devletler olduğunu fark:

geom_histogram geom_bar artı stat_bin için bir takma ad

ama dürüst olmak gerekirse, ben değilim ggplot2 konusundaki anlayışımın hem stat_bin hem de geom_bar'ın katmanları olduğu (biraz farklı bir vurgu ile) anlamına geldiğinden emin olun.

+0

Sanırım bu, ggplotta doğru olarak ggplot (elmaslar, aes (derinlik)) + geom_histogram (aes (y = .. yoğunluk ..)) ve ggplot (elmaslar, aes (derinlik)) + geom_bar (aes) olarak gösterilmediğini düşünüyorum (y = .. yoğunluk ..)) aynı arsa (bir histogramdır) ile sonuçlanır – jamborta

+0

Yoğunluk grafikleri histogram değildir Yoğunluk arazileri yüzdeler değildir Yoğunluk arazileri yoğunluk grafikleridir http://stackoverflow.com/questions Daha fazla alıntı için/17655648/nasıl-olabilir-i-arsa-iki-grup-kullanarak-bir-dolgu-estetiği-orantıları. – russellpierce

3

Varsayılan davranış, hem geom_bar hem de geom_histogram öğelerinden aynıdır. Bunun nedeni geom_histogarm (anlaşılabilir) olarak adlandırılırken (ve anlaşılacağı üzere @ csgillespie), örtülü bir stat_bin vardır ve aynı zamanda geom_bar (argüman davranışı IMO'su) için uygulanan varsayılan istatistik dönüşümüdür. Bu nedenle, verileri olduğu gibi çizmek istediğinizde stat='identity' belirtmeniz gerekir.

stat='bin' veya stat_bin(), ggplot'un sizin için yaptığı istatistiksel bir dönüşümdür. Bu çıkış olarak iki nokta (..count.. ve ..density.. ile çevrili değişkenleri sağlar. Eğer stat='bin' belirtmek yoksa bu değişkenleri almazsınız.

İlgili konular