- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想绘制正值和负值,它们的比例大小由点表示,使得 0 在这两种情况下最小,最大的是它们的大小。我想要负点大小,使得 0 最小,-5 最大,同时正值 0 最小,5 最大。像这张图片
我知道如果只有一个变量,例如 here,我可以反转并执行此操作.
但我有两个尺寸。
我的示例数据和代码如下。
dput(ddf)
structure(list(tr = c(0.192833333333335, 0.800378947368421, 2.28270774476556,
0.586631034482762, 0.217825000000001, -0.773253846153845, -0.459235294117648,
-0.0706142857142855, -0.24942, 11.1025623422045, -0.871375, -0.929300000000012,
-5.92639999999999, 3.87432045251869, -3.62026818181818, -2.49045555555556,
-0.730590000000007, 3.03523157894737, 1.04723333333333, -0.120474999999999
), Itr = c(0.192833333333335, 0.800378947368421, 2.28270774476556,
0.586631034482762, 0.217825000000001, NA, NA, NA, NA, 11.1025623422045,
NA, NA, NA, 3.87432045251869, NA, NA, NA, 3.03523157894737, 1.04723333333333,
NA), Dtr = c(NA, NA, NA, NA, NA, -0.773253846153845, -0.459235294117648,
-0.0706142857142855, -0.24942, NA, -0.871375, -0.929300000000012,
-5.92639999999999, NA, -3.62026818181818, -2.49045555555556,
-0.730590000000007, NA, NA, -0.120474999999999), td = c("Increasing",
"Increasing", "Increasing", "Increasing", "Increasing", "Decreasing",
"Decreasing", "Decreasing", "Decreasing", "Increasing", "Decreasing",
"Decreasing", "Decreasing", "Increasing", "Decreasing", "Decreasing",
"Decreasing", "Increasing", "Increasing", "Decreasing"), lat = c(-58.07,
-57.9, -56.74, -55.22, -55.43, -54.12, -54.62, -54.63, -54.48,
-54.25, -52.89, -54.05, -49.79, -49.82, -48.83, -48.73, -49.69,
-49.29, -48.89, -49.37), lon = c(130.82, 131.15, 131.67, 129.14,
127.71, 127.42, 126.9, 128.43, 128.33, 130.17, 125.77, 128.69,
123.2, 123.15, 124.05, 123.67, 125.03, 124.91, 124.97, 124.98
)), .Names = c("tr", "Itr", "Dtr", "td", "lat", "lon"), class = "data.frame", row.names = c(NA,
20L))
plt<-ggplot()+
geom_point(data = ddf,aes(x = lon, y = lat,size = Itr,shape=td),fill="Blue")+
geom_point(data = ddf,aes(x = lon, y = lat,size = Dtr,shape=td),fill="Green", show.legend = FALSE)+
scale_size_continuous(name="IDt",range=c(2,12))+
scale_shape_manual(name= "td",values=c(25,24),labels=c("Decreasing","Increasing"))
plt
最佳答案
我认为这个问题是关于建立一个发散的大小尺度,其中最接近 0 的值最小,离 0 最远的值最大。
为了实现这一点,您需要修改 ddf
包括两个新的列( all_trs
结合了 Dtr
和 Itr
和 abs_trs
只是 all_trs
的绝对值,您将用于发散大小比例):
library(dplyr) library(magrittr)
ddf %<>% mutate(all_trs = ifelse(td == "Increasing", Itr, Dtr), abs_trs =abs(all_trs))
ddf$all_trs <- ifelse(...)
但管道
%>%
更容易和更酷;)
plt <- ggplot(data = ddf, aes(x = lon, y = lat, color = td)) +
geom_point(aes(shape = td, size = abs_trs, fill = td), alpha = .5) +
scale_shape_manual(values = c(25, 24)) +
scale_color_manual(values=c("blue", "red")) +
scale_size_continuous(range = c(2,20)) +
scale_fill_manual(values = c("blue","red")) +
geom_text(aes(label = round(all_trs,1))) +
guides(size = F)
plt
geom_text
覆盖以帮助显示大小正确缩放。希望有帮助!
关于r - 如何在 geom_point() 中反转大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493065/
我有以下ggplot2代码,我想使用基本图形而不是ggplot2来生成类似的输出-但我似乎找不到找到一种方法来区分正常绘图中的多个“属性”。我错过了什么吗? Ggplot2: ggplot(data.
我不确定为什么我的数据点都没有显示在 map 上。 Store_ID visits CRIND_CC ISCC EBITDAR top_bottom Latitude Longitud
我用 geom_point 做了一个图来自 ggplot2 (只是显示其中的一部分)。颜色代表 3 个类别。黑条是平均的(与问题无关)。 数据结构如下(存储在列表中):
这是我到目前为止所得到的: df<-data.frame(x=(1:100), y=rnorm(100), Mode=c(rep('Walk
我得到了一些数据(名为 result.df),如下所示: orgaName abundance pVal score
这个问题在这里已经有了答案: How to use an image as a point in ggplot? (3 个回答) 3年前关闭。 是否可以在 R ggplot 中将自定义图像(比如 pn
假设我在0,1附近有很多值,在10附近有一些值,我已经将它们映射为: geom_point(aes(size=value)) ..这给了我这样的图像: 很难看到非常小的要点。所以我想知道是否可以为点大
我正在使用的数据来自下面列出的互联网来源 nba 24,as.character(Name),'')),hjust=0,vjust=0) 关于r - geom_point 中的标签点,我们在Stack
嗯,也许是温度的原因,或者我再次没有看到明显的...... 这是我的代码: library(ggplot2) p <- ggplot() p <- p + geom_point(aes(x = 1,
我想要 将“能量级别”颜色类别分配给较高级别的红色色调,以及较低级别的绿色色调颜色。 按以下顺序对“功能级别”类别中每个点的大小进行排序:low_TL、inter_TL、Myrmecophage、me
我的数据由一组带半径的圆组成。 x、y 和半径的比例相同。 x y radius 0.1 0.8 0.1 0.4 0.4 0.2 0.6 0.2 0.9 0.3 0.6 0
嗯,也许是温度的原因,或者我再次没有看到明显的...... 这是我的代码: library(ggplot2) p <- ggplot() p <- p + geom_point(aes(x = 1,
我想要 将“能量级别”颜色类别分配给较高级别的红色色调,以及较低级别的绿色色调颜色。 按以下顺序对“功能级别”类别中每个点的大小进行排序:low_TL、inter_TL、Myrmecophage、me
我正在研究钻石数据集。我试图绘制克拉 x 价格,颜色代表清晰度。我得到了一个漂亮的调色板,但不是我想要的。它看起来更像是一个渐变,我想要彩虹,每个清晰度都有独特的颜色(我认为对于如此密集的数据图更容易
我有一个 ggplot,其中一些点与其他一些点重叠。我想知道是否有办法将点放在另一个之上。就我而言,最多有 2 个点重叠。 x=c(1,1,2,3,4,4) y=c('a1','a1','a2','a
您可以在下图中看到“颜色”图例未正确运行。我期待一个彩色圆圈(例如,一个颜色应该是一个绿色圆圈),但是背景是绿色的,您可以看到似乎是某种类型边界框的黑色叠加层。 这是我的代码: library(ggm
我正在使用点大小可视化变量。 我的问题是第一个(最小)点大小(在本例中为“70”)明显(不成比例地)比其余点小。 (见CP图例) 这是我正在使用的代码: ggplot(data=testdata, a
我想在两个维度上绘制饼图,以根据其复合“组”显示每个点的组成。 到目前为止,我正在使用标签排斥来标记最高分,但效果仍然不是很好。我环顾四周,但没有看到我要找的东西。 ggplot(data=aggtm
我用 geom_point 绘制了数据,数据点的大小由列中的值设置。我想增加这些点的整体大小(并保持相对大小)。我试图将所有值乘以一个数字,但点大小保持不变。我怎样才能增加整体点数? 最佳答案 修改
我正在尝试使用 geom_point() 在 ggplot2 中绘制一个图,该图具有映射到 x、y、颜色和形状的变量,并避开颜色而不是形状的位置。 x=tibble(Color=c(rep('A',1
我是一名优秀的程序员,十分优秀!