【问题标题】:Multicolored points in plot [duplicate]图中的彩色点[重复]
【发布时间】:2017-03-28 15:45:47
【问题描述】:

我想添加彩色点,其中一半为蓝色,例如。一半是红色的。如果可能的话,我希望能够使用 2 种以上的颜色,例如 4 个四分之一,每个都有一种颜色。 这可能吗?

我知道我可以叠加几个不同大小的点,每个点都有一种颜色,从而形成一个同心的多色点。但这不是我想要的。

就上下文而言,我将这些点用于地图中的城市。 这是一个小例子,每个城市都有一个单色点。但我希望每个城市都有一个由两半组成的点,每一半都有一种颜色。

require(ggmap);

citiesnames=c("Madrid","Toledo","Valencia","Granada")

cities=str_c(citiesnames,"Spain",sep=", ");
geo=geocode(cities);
lon=geo$lon;
lat=geo$lat;
coord=mapproject(lon, lat,proj="mercator");

map("world","Spain",fill=T,col="ivory",proj="mercator");

points(coord$x[1], coord$y[1], pch=16, cex=1.2, col="black")
points(coord$x[2],coord$y[2], pch=16, cex=1.2, col="red")
points(coord$x[3], coord$y[3], pch=16, cex=1.2, col="blue")
points(coord$x[4], coord$y[4], pch=16, cex=1.2, col="green4")

非常感谢任何帮助。

【问题讨论】:

  • 您可以在基本图形中使用col = discrete_variable。但是您需要提供更多信息,也许还需要提供您所获得的示例代码。
  • @Masoud 我不想要取决于值的不同颜色的点。我想要有两半的点,每一半都有一种颜色。我不认为这是您提到的问题的重复。
  • @student 我添加了一个代码示例。还有你所说的 col=discrete_variable 是什么意思?
  • @Lamia 在这种情况下,我会尝试在图表上为同一个数据点添加两个点,并将形状更改为有两个半圆并为它们着色。从来没有在 R 中这样做过。通常我需要在 ArcMap 中完成这类任务。
  • @Masoud 我不知道半圆形。以下是 base 中可用的形状:endmemo.com/program/R/pchsymbols.php

标签: r colors points


【解决方案1】:

正如我在 cmets 中提到的,您可以参考此 post 来做您想做的事情。出于文档目的,我添加了一个解决问题的答案:

您可以使用以下两个函数在图表中添加两个半圆(饼图):

  upper.half.circle <- function(x,y,r,nsteps=100,...){  
    rs <- seq(0,pi,len=nsteps) 
    xc <- x+r*cos(rs) 
    yc <- y+r*sin(rs) 
    polygon(xc,yc,...) 
  } 

  lower.half.circle <- function(x,y,r,nsteps=100,...){ 
    rs <- seq(0,pi,len=nsteps) 
    xc <- x-r*cos(rs) 
    yc <- y-r*sin(rs) 
    polygon(xc,yc,...) 
  } 

稍后当您进行试点时,您应该设置asp = 1 以获取半圆。

   plot(1, type="n",axes=F,xlab="", ylab="",xlim=c(0,200),ylim=c(0,200), asp = 1)
   upper.half.circle(15,170,10,nsteps=1000,col='red')
   lower.half.circle(15,170,10,nsteps=1000,col='blue')

这是这段代码的结果:

您可以稍后编辑小说以获得宿舍或任何您需要的东西。

【讨论】:

    猜你喜欢
    • 2019-01-08
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    相关资源
    最近更新 更多