Несколько цветовых шкал на одном столбчатом графике с использованием ggplot

Я создал столбчатую диаграмму, на которой показано распределение мест в советах (= ось Y) между партиями в муниципалитете в течение нескольких лет (= ось X). Используемый код и некоторые данные приведены ниже. К сожалению, у меня пока недостаточно очков для публикации графика.

Различные партии также связаны с переменной, называемой «идеология», как категория для различных политических ориентаций («прогрессивная», «умеренная», «консервативная»).

Я хотел бы изменить цвета таким образом, чтобы все, например, у консервативных партий есть различные виды блюза; все прогрессивные партии разных видов зеленого; и все умеренные стороны, например разные виды красного;

Переменная идеологии находится в том же кадре данных (y).

Любой намек, как получить эту модификацию? Я уже пробовал цвет = фактор (идеология) и группа = идеология, но безрезультатно. Я также знаю об этой связанной записиИспользование предопределенной цветовой палитры в ggplot однако это не относится конкретно к моей проблеме.

Большое спасибо.

Используемая команда:

    municipality.plot <- ggplot(y, aes(x=as.factor(year), y=seats, fill=party, color=party)) +
      geom_bar(bandwidth=1, stat="identity", group="party", position="fill") +
      labs(x="year", y="% of seats for municipality")

Пример данных:

   year district.id                                                         party seats ideology
1  2012         127                  Stranka Pravde I Razvoja B,osne I Hercegovine     1        p
2  2012         127                                Savez Za Bolju Buducnost (SBB)     3        p
3  2008         127                              Stranka Demokratske Akcije (SDA)    13        p
4  2004         127                              Stranka Demokratske Akcije (SDA)    14        p
5  2008         127                          Hrvatska Demokratska Zajednica (HDZ)     1        c
6  2008         127                  Stranka Pravde I Razvoja Bosne I Hercegovine     1        p
7  2012         127                        Stranka Za Bosnu I Hercegovinu (SzBiH)     4        p
8  2000         127                              Socijaldemokratska Partija (SDP)     8        m
9  2012         127                     Narodna Stranka Radom Za Boljitak (NSRzB)     2        m
10 2012         127                            Socijaldemokratska Unija Bih (SDU)     1        p
11 2000         127                                         Koalicija - SDA, SBiH    15        p
12 2008         127                              Socijaldemokratska Partija (SDP)     5        m
13 2008         127                     Narodna Stranka Radom Za Boljitak (NSRzB)     1        m
14 2008         127                                          Koalicija - LDS, SDU     2        m
15 2000         127 Lgk-liberalno-gradanska Koalicija Bih (liberali Bih, Gds Bih)     1        m
16 2000         127                               Nova Hrvatska Inicijativa (NHI)     1        c
17 1997         127                              Socijaldemokratska Partija (SDP)     3        m
18 2012         127                              Socijaldemokratska Partija (SDP)     6        m
19 2004         127                        Stranka Za Bosnu I Hercegovinu (SzBiH)     5        p
20 1997         127                 Bosanskohercegovacka Patriotska Stranka (BPS)     9        p
21 2000         127                 Bosanskohercegovacka Patriotska Stranka (BPS)     3        p
22 2008         127                        Stranka Za Bosnu I Hercegovinu (SzBiH)     4        p
23 1997         127                          Hrvatska Demokratska Zajednica (HDZ)     5        c
24 2000         127                          Hrvatska Demokratska Zajednica (HDZ)     2        c
25 2012         127                              Stranka Demokratske Akcije (SDA)    10        p
26 2004         127                              Socijaldemokratska Partija (SDP)     6        m
27 1997         127                          Koalicija - SDA, SBiH, Liberali, GDS    13        p

Ответы на вопрос(1)

Ваш ответ на вопрос