r - 错误:颜色编码为数字必须为正
问题描述
我正在尝试重新创建此图,但我遇到了 ggplot 不喜欢数据框中的负数的问题,因为错误消息的外观?Error: colours encodes as numbers must be positive
. 有谁知道它的问题是什么?这些是非常大的数据框,但我不会认为这会是一个问题?
## Load packages
library(tidyverse)
require(data.table)
## Read in data frames
m1<-fread("m1.csv", header = F)
m2<-fread("m2.csv", header = F)
L<-fread("l.csv", header = F)
LP<-fread("LP.csv", header = F)
## Get rate by taking m1 from m2
rate<-m1[1,]-m2[1,] ### subtract p1 rate from p2
## Transpose the data frame
t_rate <- transpose(rate)
## Create row ID's to merge data frames
L$row_num <- seq.int(nrow(L))
t_rate$row_num <- seq.int(nrow(t_rate))
all<-merge(L, t_rate, by = "row_num") ## merge the dataframes based on their ID
## Get rid of ID now we don't need it
all$row_num=NULL
## Plot the graph
ggplot(all,x=all$V1.x,y=all$V2,col=all$V1.y)+
geom_point(data=all,x=all$V1.x,y=all$V2,col=all$V1.y,size=0.1)+
geom_point(data=LP,x=LP$V1,y=LP$V2,size=1)
### Data (all)
structure(list(V1.x = c(163.75, 164.25, 164.75, 165.25, 165.75,
166.25), V2 = c(-75.25, -75.25, -75.25, -75.25, -75.25, -75.25
), V1.y = c(1.55995, 1.56093, 1.56237, 1.56545, 1.56764, 1.56827
)), class = c("data.table", "data.frame"), row.names = c(NA,
-6L), .internal.selfref = <pointer: 0x7f9bd4811ae0>)
## Data (LP)
structure(list(V1 = c(169.7, 147.93, 150.01, 146.71, 147.31,
-63.26), V2 = c(-46.47, -42.344, -36.59, -38.64, -43.3, 44.739
)), row.names = c(NA, -6L), class = c("data.table", "data.frame"
), .internal.selfref = <pointer: 0x7f9bd4811ae0>)
解决方案
问题是您没有根据美学进行映射,而是将向量传递给参数。这样做时,您必须将颜色名称或代码或正数传递给color
参数。
但是要解决您的问题,您可以像这样简单地映射美学:
library(ggplot2)
ggplot(all, aes(x = V1.x, y = V2)) +
geom_point(aes(color = V1.y), size = 0.1) +
geom_point(data = LP, aes(x = V1, y = V2), size = 1)
推荐阅读
- python - Psycopg2 不仅接受 None (Nonetype) 作为使用 %s 时可以为 Null 的单元格条目,但不接受 f 字符串
- java - 在没有 Class.forName() 或系统属性的情况下如何加载 JDBC 驱动程序?
- hybris - 使用 Smartedit 的本地化 nm 关系时如何修复 ClassCastException?
- c# - 如何制作一种方法来旋转多个字符?
- mysql - 使用列作为表连接与 concat
- unix - 将文件从父文件夹和子文件夹复制到目标文件夹
- sql-server - LIKE 查询返回 0x80040E14
- ios - 模拟盲文显示
- docker - 尝试从 Docker CentOS 容器启动 GUI 应用程序时出现 dbus 错误
- python - Python获取函数调用外的变量名