1

geom_histogram (以下のデータ) を使用して ggplot でプロットしたいデータセットがあります。グラデーションの配色を取得しようとすると問題が発生します。

structure(list(UserID = c(39120L, 39536L, 39550L, 39627L, 39632L, 39709L, 39971L, 39988L, 39990L, 40062L, 40065L, 40065L, 40066L, 40142L, 40142L, 40143L, 40161L, 40193L, 40364L, 40437L, 40439L, 40440L、40451L、40453L、40665L、40665L、40668L、40751L、40843L、40843L、40843L、40846L、40846L、40847L、40847L、40850L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L、4084L 40966L, 40966L, 40967L, 40967L, 40969L, 40971L, 40971L, 40985L, 40985L, 41010L, 41079L, 41080L, 41080L, 41081L, 41093L, 41108L, 41110L, 41111L, 41113L, 41114L, 41133L, 41137L, 41138L, 41140L, 41161L, 41162L, 41182L, 41186L, 41260L), sales = c(0.0119, 0.0032, 0.0091, 0.0098, 0.0086, 0.0101, 0.0107, 0.0111, 0.0085, 0.0178, 0.0069, 0.0055, 0.0133, 0.0112, 0.0084, 0.0141, 0.0159, 0.01, 0.0054 、0.0129、0.011、0.0116、0.0099、0.0134、0.0046、0.004、0.0076、0.005、0.0027、0.0037、3E-04、0.022、0.012、0.0082、0.0108、0.0092、0.0101、0.0016、0.0082、0.0035、0.007、0.0098、0.0146、0.0146、0.046、0.0074、0.0074、0.0074、0.0074、0.0074、0.0074、0.0074、0.0074、0.0074、0.044、0.0074、0.044、0.044、0.044、0.044、0.044、0.042 0.0032, 0.0028, 0, 0.0179, 0.0185, 0.0095, 0.0401, 0.0163, 0.0085, 0.0099, 0.0064, 0.0067, 0.0052, 0.0191, 0.0118, 0.0054, 0.0111, 0.0065, 0.0124, 0.0047, 0.0111, 0.0063, 0.0072, 0.0062, 0.0091, 0.0066, 0.0169, 0.0071 ), salesfromtarget = c(0.214285714285714, -0.673469387755102, -0.0714285714285714, 0, -0.122448979591837, 0.0306122448979592, 0.0918367346938777, 0.13265306122449, -0.13265306122449, 0.816326530612245, -0.295918367346939, -0.438775510204082, 0.357142857142857, 0.142857142857143, -0.142857142857143, 0.438775510204082, 0.622448979591837、0.0204081632653062、-0.448979591836735、0.316326530612245、0.122448979591837、0.183673469387755, 0.010204081632653, 0.36734693877551, -0.530612244897959, -0.591836734693878, -0.224489795918367, -0.489795918367347, -0.724489795918367, -0.622448979591837, -0.969387755102041, 1.24489795918367, 0.224489795918367, -0.163265306122449, 0.102040816326531, -0.0612244897959184, 0.0306122448979592, -0.836734693877551, -0.163265306122449, -0.642857142857143, -0.285714285714286, 0, 0.489795918367347, -0.244897959183673, -0.489795918367347, 0.551020408163265, -0.530612244897959, -0.673469387755102, -0.714285714285714, -1, 0.826530612244898, 0.887755102040817, -0.0306122448979592, 3.09183673469388, 0.663265306122449, -0.13265306122449, 0.010204081632653, -0.346938775510204, -0.316326530612245, - 0.469387755102041、0.948979591836735、0.204081632653061、-0.448979591836735、0.13265306122449、-0.336734693877551、0.26530612244898, -0.520408163265306, 0.13265306122449, -0.357142857142857, -0.26530612244898, -0.36734693877551, -0.0714285714285714, -0.326530612244898, 0.724489795918367, -0.275510204081633)), .Names = c("UserID", "sales", "salesfromtarget" ), row.names = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 15L, 16L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L 、28L、29L、31L、32L、35L、36L、37L、38L、39L、41L、42L、44L、45L、46L、47L、48L、49L、50L、51L、52L、53L、54L、56L、57L、58L 、59L、60L、61L、62L、63L、64L、65L、67L、69L、70L、72L、77L、78L、79L、80L、81L、82L、83L、84L、85L、86L、87L、88L、89L、90L 、93L)、クラス = "data.frame")326530612244898, 0.724489795918367, -0.275510204081633)), .Names = c("UserID", "sales", "salesfromtarget" ), row.names = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L 、10L、11L、12L、13L、15L、16L、18L、19L、20L、21L、22L、23L、24L、25L、26L、28L、29L、31L、32L、35L、36L、37L、38L、39L、41L , 42L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 56L, 57L, 58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 67L, 69L, 70L 、72L、77L、78L、79L、80L、81L、82L、83L、84L、85L、86L、87L、88L、89L、90L、93L)、クラス = "data.frame")326530612244898, 0.724489795918367, -0.275510204081633)), .Names = c("UserID", "sales", "salesfromtarget" ), row.names = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L 、10L、11L、12L、13L、15L、16L、18L、19L、20L、21L、22L、23L、24L、25L、26L、28L、29L、31L、32L、35L、36L、37L、38L、39L、41L , 42L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 56L, 57L, 58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 67L, 69L, 70L 、72L、77L、78L、79L、80L、81L、82L、83L、84L、85L、86L、87L、88L、89L、90L、93L)、クラス = "data.frame")32L、35L、36L、37L、38L、39L、41L、42L、44L、45L、46L、47L、48L、49L、50L、51L、52L、53L、54L、56L、57L、58L、59L、60L、61L、クラス = " data.frame")32L、35L、36L、37L、38L、39L、41L、42L、44L、45L、46L、47L、48L、49L、50L、51L、52L、53L、54L、56L、57L、58L、59L、60L、61L、クラス = " data.frame")

このコードを使用scale_fill_brewerして、グラデーションスキームを取得しようとしています(ただし、この特定のものである必要はありません。機能しないものの例にすぎません)。バーはすべて灰色で、理想的には灰色にならないことです。最良のシナリオは、次のようなものを使用したかったことですscale_fill_gradient(low = "green", high = "blue")(これも私にはうまくいきません)。ggplot2 で何か基本的なことが欠けているように感じます。

require(ggplot2)
require(scales)
require(ggthemes)

ggplot(repex, aes(x = salesfromtarget)) +
geom_histogram(binwidth = .1, alpha = 0.5, colour = "white") +
scale_fill_brewer(palette = "Spectral") +
guides(fill = FALSE) +
theme_solarized() +
ggtitle("Standard Distribution of Sales") + xlab("Sales") + ylab("Frequency") +
theme(plot.title = element_text(size = 13, colour = "black", face = "bold", vjust = 1)) +
theme(axis.title.x = element_text(size = 12, colour = "black", vjust = -.005), 
      axis.title.y = element_text(size = 12, colour = "black", vjust = 0.2),
      axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_x_continuous(breaks = seq(-1.5, 1.5, by = .25),
                 limits = c(-1.5, 1.5), labels = percent) 
4

1 に答える 1

8

aes() セクションで「fill」変数を定義する必要があります。

ggplot(repex, aes(x=salesfromtarget, fill=..x..))
    +geom_histogram(binwidth=.1)
    +scale_fill_gradient("Legend",low = "green", high = "blue")

ここに画像の説明を入力

ヒストグラム バーは各 x 軸値のカウントであるため、元の x 値を使用する場合は、" ..x.. " を使用する必要があります。" ..count.. "を使用して、ヒストグラム カウントを入力できます。

ggplot(repex, aes(x=salesfromtarget, fill=..count..))
    +geom_histogram(binwidth=.1)
    +scale_fill_gradient("Legend",low = "green", high = "blue")

ここに画像の説明を入力

于 2013-07-18T19:54:01.973 に答える