在R中,我使用了一个自生成的数据框架,其中包含了选举中的政党及其席位。
问题是议会图生成正确,但构成图的点显示为黑色,无法用政党数据对应的颜色显示,请帮帮忙。
公式和 Dataframe :
library(ggplot2)
library(ggparliament)
library(readxl)
library(dplyr)
colors = c("#783736","#7ca32f","#b59f5c","#7ed61a","#a546bd","#337d34")
parties <- c("PC","FRVS","PH","PEV","COM","CS")
seats <- c(10,2,3,2,6,7)
datos <- data.frame(parties,seats,colors)
parties seats colors
1 PC 10 #38ebe8
2 FRVS 2 #2979cf
3 PH 3 #1f1f9c
4 PEV 2 #7022ab
5 COM 6 #181644
6 CS 7 #e01624
我用这个公式生成了一个议会图:
congress1 <- parliament_data(election_data = datos,
type = "semicircle",
parl_rows = 6,
party_seats = datos$seats)
cl <- ggplot(congreso1, aes(x = x, y = y, fill = colors)) +
geom_parliament_seats(size=3.5) +
theme_ggparliament() +
labs(fill = NULL,
title = "Parliament Seats") +
scale_fill_manual(values = datos$colors,
limits = datos$parties)
cl
2条答案
按热度按时间h5qlskok1#
我们也可以这样做:将
fill
变更为color
美学,并将相应的scale_fill_manual
变更为scale_color_manual
:j2qf4p5b2#
我认为geom_parliament_seats是为
color
(又名colour
)而不是fill
参数化的,您可以使用scale_color_identity
来逐字使用这些值,因为它们已经在ggplot
中使用的 Dataframe 中指定。