我在R中有一个数据框,我想在一个刻面的ggplot条形图中绘制.
我在ggplot中使用此代码:
ggplot(data_long, aes(x = partei, y = wert, fill = kat, width=0.75)) +
labs(y = "Wähleranteil [ % ]", x = NULL, fill = NULL) +
geom_bar(stat = "identity") +
facet_wrap(~kat) +
coord_flip() +
guides(fill=FALSE) +
theme_bw() + theme( strip.background = element_blank(),
panel.grid.major = element_line(colour = "grey80"),
panel.border = element_blank(),
axis.ticks = element_line(size = 0),
panel.grid.minor.y = element_blank(),
panel.grid.major.y = element_blank() ) +
theme(legend.position="bottom") +
scale_fill_brewer(palette="Set2")
Run Code Online (Sandbox Code Playgroud)
您可以看到只有最后一个方面处于所需的降序.我希望所有方面按降序排序,这意味着标签顺序会发生变化.因此我还需要所有方面都有自己的y轴标签.
这是我正在使用的数据:
partei kat wert
1 SP kand1 95.41
2 Grüne kand1 …Run Code Online (Sandbox Code Playgroud) 我有一个代表地形图的多层 RasterBrick,我想将其以 grd 或 tif 格式保存到硬盘,以便其他人以后可以使用。
这是 RasterBrick:
class : RasterBrick
dimensions : 2400, 4200, 10080000, 3 (nrow, ncol, ncell, nlayers)
resolution : 100, 100 (x, y)
extent : 480000, 9e+05, 62000, 302000 (xmin, xmax, ymin, ymax)
coord. ref. : NA
data source : in memory
names : layer.1, layer.2, layer.3
min values : 2.8725, 2.8725, 2.8725
max values : 254.5175, 254.5175, 254.5175
Run Code Online (Sandbox Code Playgroud)
我试图用这个命令保存它:
outfile <- writeRaster(brick, filename='grid.tif', format="GTiff", overwrite=TRUE)
Run Code Online (Sandbox Code Playgroud)
和这个:
outfile <- writeRaster(m, filename='grid.grd', format="raster", overwrite=TRUE)
Run Code Online (Sandbox Code Playgroud)
但是 tif 文件已损坏,并且 …
我试图选择某个类的一些div元素但没有某些数据属性.例如,我有12个div,数据属性从1到12,我想选择所有这些除了数据属性为1,11和12的那些.这是我的(不工作)代码到目前为止:
$('div.randomize_class [data-value!=1],[data-value!=11],[data-value!=12]');
Run Code Online (Sandbox Code Playgroud)
目的是仅对匹配的div进行洗牌,并最终在结尾追加属性为1,11和12的div.混洗功能很好地工作,它只是选择选择类的一个子集.
所以在洗牌之后,我想只选择那些数据属性为1,11和12的人.我试过这个:
$('.randomize_class [data-value=1],[data-value=11],[data-value=12]')
Run Code Online (Sandbox Code Playgroud)
很高兴得到任何帮助!非常感谢你.
我有一个 SpatialPolygonsDataFrame,其中包含包含十六进制颜色值的列。我想用 tmap 包来绘制这样的地图:
tm_shape(full.shp) + tm_fill(col="konf1900")
Run Code Online (Sandbox Code Playgroud)
但随后它被视为类别变量,结果是:

我不知道如何告诉 tmap 它应该直接在地图上绘制颜色值......
有人可以帮忙吗?
编辑:
请参阅下面的答案 - 问题是数据帧列未编码as.character。我想这有时可能会对某人有所帮助......
我有一个由X和Y坐标组成的大网格,每个坐标代表一个值。但是,网格内的某些组合不存在,请参见附图:
我想用R脚本识别缺少的xy组合,但是不知道该怎么做。获得这些组合的有效方法是什么?
我的数据示例:
df1 <- structure(list(coord_n = c(1065125L, 1065875L, 1064625L, 1064375L,
1065625L, 1065375L, 1065625L, 1065125L, 1065625L, 1065125L, 1066125L,
1064625L, 1066375L, 1064125L, 1064375L, 1064625L, 1066375L, 1064875L,
1066125L, 1066625L, 1064375L, 1065125L, 1066375L, 1066625L, 1065125L,
1065875L, 1064125L, 1064375L, 1064125L, 1065875L, 1064625L, 1065125L,
1065125L, 1065625L, 1066375L, 1064375L, 1064875L, 1065875L, 1066375L,
1066625L, 1064375L, 1064625L, 1066375L, 1065875L, 1065375L, 1065375L,
1066625L, 1065375L, 1064625L, 1066625L, 1066125L, 1065625L, 1065375L,
1065875L, 1064125L, 1064375L, 1064875L, 1065625L, 1065625L, 1064625L,
1064875L, 1065375L, 1065875L, 1065875L, 1066625L, 1065875L, 1064875L,
1066625L, 1064875L, 1064125L, 1066125L, 1064375L, 1066375L, …Run Code Online (Sandbox Code Playgroud) 我用ggplot2用这段代码完成了刻面条形图:
ggplot(data_long, aes(x=region, y=wert)) +
geom_bar(aes(fill = kat ), position = "dodge", width=.5, stat="identity") +
labs(y = "Wähleranteil [ % ]", x = NULL, fill = NULL) +
facet_grid(. ~ type) +
theme_bw() + theme( strip.background = element_blank(),
panel.grid.major = element_line(colour = "grey80"),
panel.border = element_blank(),
axis.ticks = element_blank(),
panel.grid.minor.x=element_blank(),
panel.grid.major.x=element_blank() ) +
theme(legend.position="bottom") +
guides(fill=guide_legend(nrow=1,byrow=TRUE))
Run Code Online (Sandbox Code Playgroud)
我希望每个方面都有自己的颜色,如下所示:
partei color
1 andere #636363
2 BDP #D0B100
3 CVP #FF8B07
4 EVP #65ECEF
5 FDP #5675D6
6 glp #77E599
7 Grüne #A3DD57 …Run Code Online (Sandbox Code Playgroud) 我经常从ggplot生成图表,我喜欢有灯光设计(白色背景等)这一切都很好,只是x轴线与y轴线重叠,请参见截图中的红色标记:
我想要的是如下所示,此刻,我必须编辑Illustrator中的每个绘图...我希望x轴不与y轴线重叠(不在右侧而不是在左侧) ).在我看来,这看起来更清洁.
有谁知道我怎么能做到这一点?到目前为止我还没有找到任何东西...所以任何帮助都非常感谢.
编辑(示例):
数据:
label_de proz
1: Dialekt / Sprache 37.6
2: Landschaft 52.1
3: Traditionen und Bräuche (Fasnacht, etc.) 20.4
4: Siedlungsraum (Gebäude usw.) 21.6
5: Sportclubs (Fussball, Eishockey, etc.) 13.4
6: Freunde und Bekannte 61.7
7: Familie 57.0
8: Bewohnerinnen / Bewohner 14.9
9: Kulinarisches Angebot (Essen, Trinken) 12.2
10: Freizeitangebot 18.6
11: Politisches Profil 5.8
12: Anderes 13.1
Run Code Online (Sandbox Code Playgroud)
和ggplot代码(没有排序):
p <- ggplot(data=ggdata, aes(x=label_de, y=proz) ) +
geom_bar(stat="identity", position="dodge") +
ylim(0,100) +
coord_flip() +
theme_bw() + …Run Code Online (Sandbox Code Playgroud) 我有一个out像这样的data.table (实际上它要大得多):
out <- code weights group
1: 2 0.387 1
2: 1 0.399 1
3: 2 1.610 1
4: 3 1.323 2
5: 2 0.373 2
6: 1 0.212 2
7: 3 0.316 3
8: 2 0.569 3
9: 1 0.120 3
10: 1 0.354 3
Run Code Online (Sandbox Code Playgroud)
它有3组不同的代码(第1列).在组#1中,代码3不出现,而在另一组中出现.
然后,我想对每个组和代码组合的权重求和.我用这个命令实现了这个目的:
sum.dt <- out[,.(sum(weights)), by=list(code,group)][order(-V1)]
Run Code Online (Sandbox Code Playgroud)
这种方法效果很好但它没有组合1和代码3的组合,因为它不在out表中.我希望有所有可能的组合sum.dt,如果在源表中没有出现组合,它应该总和为0,这意味着V1该行在该行中应为0.
知道我怎么能做到这一点?