根据值绘制颜色

编码器X

我创建了一个绘图,在其中要对值进行颜色编码。值的一个子集将是一种颜色,另一子集将是不同的颜色,其余值将是另一种颜色。

这些子集的工作方式如下:我已经根据一列对数据帧进行了排序。我为最低的10个值和最高的10个值创建了一个子集。我想对NY列的值进行颜色编码,对应于Total列中的前10名或后10名。因此,我的NY值不会被排序,但它们将与Total中的那些排序后的值相对应。

唯一的问题是,NY列中某些值的重复项不位于前10名或后10名之内。例如:5名位于后10名子集之内。但是,还有另一个实例5不在底部10之内。

因此,我的代码不是只对底部的10进行颜色编码,而是对底部10中的这些值的所有实例进行颜色编码。例如,对12或13个值进行着色而不是10。

我可能实际上需要在我的plot()调用中包含更多代码,但是除了我面临的这个问题之外,它对我来说还有效:

upper10<-tail(statedata[order(Total),],10)
lower10<-head(statedata[order(Total),],10)

plot(State,NY,type="p",pch=ifelse(NY %in% lower10$NY,
           0, ifelse(NY %in% upper10$NY, 1, 2)),
            col=ifelse(NY %in% lower10$NY,
           "green3", ifelse(NY %in% upper10$NY, "red", "black")),
            main="New York")

基本上,我要尝试的是确保仅底部的10个值为绿色。这段代码将整个数据框中这些值的所有实例更改为绿色,因为其中存在重复项。所以现在我被困住了。

抱歉,这很令人困惑。如果太令人困惑,我可以尝试进一步澄清。

编辑:添加了一些数据:

DET  NY  CHI  Total
2.6  9.3 23.0 15.8
5.0  6.3 25.3 32.1 
5.9  5.0 31.5 18.4
7.1 11.9 18.7 13.8
7.5 11.8 17.3  3.0
4.1  1.0 10.7  8.0
10.1 48.8 4.7 45.0

这只是一个片段。我对总计进行了排序,然后根据排序后的lower10或upper10中的值,对纽约州的值进行颜色编码。

巴海奥米德

我敢肯定,有很多更有效的方法可以做到这一点;在不实质更改主代码的情况下执行此操作的一种方法是尝试ifelseplot函数内部的语句中使用索引我稍稍更改了数据框和子集,以生成一个快速且肮脏的可复制示例。

该脚本与原始代码几乎相同,不同之处在于,它通过交叉检查lower5upper5子集中的相应索引来尝试查找匹配项可以使用以下rownames功能完成此操作

运行它,让我知道这是否是您想要的以及是否需要进一步说明。

#Define a dataframe for demonstration purposes
df <- data.frame(DET=1:20,NY=21:40,CHI=41:60,Total=100:81)

#Subset the lower and upper 5 values after sorting the dataframe (df) by the Total column
lower5 <- tail(df[order(df$Total),],5)
upper5 <- head(df[order(df$Total),],5)


#Plot the NY column from df and color code the data points if the indices in the NY column matches those of lower5 and upper5 subsets
plot(df$NY,
     type="p",
     pch=ifelse(rownames(df) %in% rownames(lower5),0, ifelse(rownames(df) %in% rownames(upper5), 1, 2)),
     col=ifelse(rownames(df) %in% rownames(lower5),'green3', ifelse(rownames(df) %in% rownames(upper5), 'red', 'black')),
     main="New York")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据值绘制颜色

来自分类Dev

根据R中y的值绘制颜色

来自分类Dev

根据R中y的值绘制颜色

来自分类Dev

根据值在R中绘制颜色

来自分类Dev

根据标签绘制颜色

来自分类Dev

根据值在1:1线上的位置绘制颜色-R

来自分类Dev

根据行绘制条件颜色

来自分类Dev

根据条件绘制不同的颜色

来自分类Dev

在XY平面上根据值用颜色绘制2D图

来自分类Dev

根据z值用颜色绘制y vs x图中的空标记

来自分类Dev

在Matlab中根据值绘制具有不同颜色的2d数据

来自分类Dev

绘制矩阵,值作为颜色

来自分类Dev

绘制矩阵,值作为颜色

来自分类Dev

根据给定值绘制背景高度Android

来自分类Dev

Python-根据值绘制网格

来自分类Dev

根据值用彩色圆圈绘制矩阵

来自分类Dev

根据列中的值绘制多个图

来自分类Dev

根据随机CGFloat值重新绘制UIBezierPath

来自分类Dev

Matplotlib:如何根据值绘制热图

来自分类Dev

根据数据变量绘制颜色和形状的点

来自分类Dev

熊猫根据每个时间序列的ID绘制时间序列颜色

来自分类Dev

地块:如何根据条件绘制多个带有颜色的地块?

来自分类Dev

如何根据值改变背景颜色

来自分类Dev

根据值Java Swing动态设置颜色

来自分类Dev

R-根据p值的颜色图

来自分类Dev

根据值设置Highcharts系列栏的颜色

来自分类Dev

根据传递的值返回颜色的函数

来自分类Dev

可变颜色不会根据值而改变

来自分类Dev

根据值JS更改背景颜色