cnt = 100
df <- data.frame(x = c(rnorm(cnt, mean = 3), rnorm(cnt, mean = 0)),
y = rnorm(2 * cnt), g = rep(0:1, each = cnt))
ggplot(df, aes(x, y, color = as.factor(g))) +
stat_density2d(aes(fill = ..level..), alpha = 0.3, geom = "polygon")
Run Code Online (Sandbox Code Playgroud)
这样就可以根据因子创建一个填充的等高线图.

我想为每个轮廓使用不同的填充比例,使得g = 0具有红色填充,而g = 1具有蓝色填充.这是可能的,如果是的话,怎么样?
我创建了一个堆积条形图,描绘了市政当局在几年内(= x轴)的议会席位(= y轴)的分布.使用的代码和一些数据如下.不幸的是,我没有足够的积分来发布图表.
不同的政党也与称为"意识形态"的变量相关联,作为不同政治取向的类别("进步","中等","保守").
我希望以这样的方式修改颜色,例如所有保守派派对都有不同的蓝调; 所有进步党派各种绿色; 和所有温和派对,例如不同种类的红色;
意识形态的变量在同一个数据帧(y)中.
任何提示如何进行此修改?我已经尝试过color = factor(意识形态)和group =意识形态,但无济于事.我也知道这个相关的条目在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")
Run Code Online (Sandbox Code Playgroud)
样本数据:
year district.id party seats ideology
1 2012 127 Stranka Pravde I Razvoja Bosne 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 …Run Code Online (Sandbox Code Playgroud)