Диаграмма ggplot «Ошибка: дискретное значение передано в непрерывную шкалу» на оси x переупорядоченных отсчетов - PullRequest
0 голосов
/ 20 мая 2018

enter image description here [! [Введите описание изображения здесь] [2]] [2]

Я хочу иметь перевернутую диаграмму с градиентом цвета, чтобы различать столбцы.Ниже приведены первые 20 строк моего набора данных. Bb_count - это мой набор данных и код для создания диаграммы.Столбчатая диаграмма построена правильно, но градиент цвета не применяется, вместо этого я получаю ошибку:

ОШИБКА при расширенном отображении объекта: Ошибка: Дискретное значение передается в непрерывном масштабе

bb_count <- bb %>% 
             count(chord, sort = TRUE)

# chord n
# C:maj 1183
# G:maj 1140
# A:maj 1071
# D:maj 1054
# F:maj 859
# E:maj 839
# Bb:maj    718
# B:maj 503
# Ab:maj    375
# Eb:maj    360
# A:min 328
# E:min 298
# Db:maj    293
# D:min 250
# B:min 236
# N 201
# E:min7    186
# C:min 176
# D:7   176
# A:min7    170

# Creating a bar plot from `bb_count`
bb_count %>%
  slice(1:20) %>%
  mutate(share = n/sum(n)) %>%
  mutate(chord = reorder(chord, share)) %>%
  ggplot(aes(x = chord, y = share, fill = chord)) +
  geom_bar(stat = 'identity', width = 0.95) + 
  coord_flip() + 
  scale_fill_gradient(low = "green", high = "red") +
  xlab("Share of total chords") +
  ylab("Chord")

1 Ответ

0 голосов
/ 20 мая 2018
Error: Discrete value supplied to continuous scale

Ваш x является дискретным, поэтому вам нужно scale_x_discrete

df %>%
  slice(1:20) %>%
  mutate(share = n/sum(n)) %>%
  mutate(chord = reorder(chord, share)) %>%
  ggplot(aes(x = chord, y = share, fill = chord)) +
  geom_bar(stat = 'identity', width = 0.95) + 
  coord_flip() + 
  scale_x_discrete() +
  xlab("Share of total chords") +
  ylab("Chord")

enter image description here

данные:

library(data.table)
df <- fread("
# chord n
# C:maj 1183
            # G:maj 1140
            # A:maj 1071
            # D:maj 1054
            # F:maj 859
            # E:maj 839
            # Bb:maj    718
            # B:maj 503
            # Ab:maj    375
            # Eb:maj    360
            # A:min 328
            # E:min 298
            # Db:maj    293
            # D:min 250
            # B:min 236
            # N 201
            # E:min7    186
            # C:min 176
            # D:7   176
            # A:min7    170
")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...