gpt4 book ai didi

r - 在传单中着色连续数据,R 不起作用

转载 作者:行者123 更新时间:2023-12-04 16:46:39 26 4
gpt4 key购买 nike

这是我的数据:

t <- data.frame(Name=c('A','B','C','D','E','F','G','H','I','J'),
Longitude=c(151.2008,151.2458,150.8217,151.1215,150.8906,151.0660,150.8889,150.9188,150.4364,150.9982),
Latitude=c(-33.90772,-33.89250,-34.05951,-33.97856,-34.40470,-33.90010,-33.92832,-33.90761,-34.44651,-33.79232),
Diff=c(0.03,0.10,0.12,0.04,-0.12,0.34,-0.14,-0.01,0.21,-0.02),
Diff1=c(30,100,120,40,-120,340,-140,-10,210,-20))

我想使用传单和 R 在 map 上绘制这些点,并使用 Diff/Diff1 的值进行连续颜色。这是我的代码:
library(leaflet)
pal <- colorNumeric(
palette = colorRampPalette(c('red','green')),
domain = t$Diff1)
leaflet(data=t) %>%
addTiles() %>%
addCircles(lng=~Longitude,lat=~Latitude,radius=10,popup=~Name,color=~pal(Diff1))

我在这里不需要很多不同的颜色。我只是希望颜色可以随着 Diff1 的增加而从红色变为绿色。但我的 map 上只有红点:

enter image description here

另一个问题是无论我如何改变半径的值,数据点的大小根本没有改变。我不知道我哪里错了。

所以,我的问题是:

如何使用连续色?
如何改变点的大小?

最佳答案

试试这个(不包括下面的数据框 t):

library(leaflet)
pal <- colorNumeric(
palette = colorRampPalette(c('red', 'green'))(length(t$Diff1)),
domain = t$Diff1)

leaflet(data = t) %>%
addTiles() %>%
addCircleMarkers(
lng = ~ Longitude,
lat = ~ Latitude,
radius = ~ Diff * 100,
popup = ~ Name,
color = ~ pal(Diff1)
)

记住, colorRampPalette实际上返回一个函数,所以你需要用 ()“破解”打开这个函数当你打算使用它时,像这样:
colorRampPalette(c('red', 'green'))(length(t$Diff1))
# "#FF0000" "#E21C00" "#C63800" "#AA5500" "#8D7100" "#718D00" "#55AA00" "#38C600" "#1CE200" "#00FF00"

检查开始和结束颜色(应为“红色”和“绿色”):
col2rgb("#FF0000")
# [,1]
# red 255
# green 0
# blue 0

col2rgb("#00FF00")
# [,1]
# red 0
# green 255
# blue 0

是的,它确实按预期工作。

关于r - 在传单中着色连续数据,R 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47824893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com