r - R plot 火迹
问题描述
刚开始使用 R 并且会重视您在这个问题上的意见。
我想要实现的是:
- X 轴具有“时间戳”的所有值(从 0 到 9)
- Y 轴具有“NID”的所有值(从 0 到 3)
- 在 ("Timestamp","NID") 的坐标处有“点”,其中属性“Fired” = 1。
源数据具有以下格式:
dat = structure(list(TimeStamp = c(0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L,
1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L,
4L), NID = c(0L, 1L, 2L, 3L, 4L, 0L, 1L, 2L, 3L, 4L, 0L, 1L,
2L, 3L, 4L, 0L, 1L, 2L, 3L, 4L, 0L, 1L, 2L, 3L, 4L), NumberSynapsesTotal = c(2L,
2L, 3L, 2L, 4L, 2L, 2L, 3L, 2L, 4L, 2L, 2L, 3L, 2L, 4L, 2L, 2L,
3L, 2L, 4L, 2L, 2L, 3L, 2L, 4L), NumberActiveSynapses = c(1L,
2L, 1L, 2L, 3L, 1L, 2L, 1L, 1L, 0L, 1L, 2L, 1L, 1L, 0L, 1L, 2L,
1L, 1L, 0L, 1L, 0L, 0L, 1L, 0L), Fires = c(1L, 1L, 1L, 1L, 0L,
1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 1L,
0L, 1L, 0L, 0L)), row.names = c(NA, 25L), class = "data.frame")
我尝试应用过滤器,但它显示了这些“ID”的数据子集,其中属性“Fired”的值为 1(轴没有所有值):
dat %>%
filter(dat$Fires == 1) %>%
ggplot(aes(x = dat$TimeStamp[dat$Fires == 1], y = dat$NID[dat$Fires == 1])) +
geom_point()
或者,我使用以下代码获取属性“Timestamp”和“NID”的所有现有值:
plot(dat$TimeStamp, dat$NID,
xlab = "Time", ylab = "Neuron ID")
title(main = "Fire Trace Plot")
所以图片看起来如下:
最后,从下面的评论中,我将代码修改为:
ggplot(dat, aes(x = TimeStamp, y = NID) , xlab = "Time", ylab ="Neuron
ID") +
geom_blank() +
geom_point(dat = filter(dat) +
#title(main = "Fire Trace Plot")
scale_x_continuous(breaks = F_int_time_breaks(1) )
那是我应该在一个情节上建立两个图表的情况吗?谢谢!
解决方案
With ggplot2
,从不使用data$
inside aes()
,只使用列名。同样,不应使用类似的dplyr
函数- 他们知道在数据框中查找列。filter
data$
我认为你想ggplot
用完整的数据来构建你的,所以轴被设置为覆盖完整的数据(我们通过添加一个geom_blank()
层来强制这样做),并且只有点层应该是子集:
# create some sample data (it is nice if you provide this in the question)
dat = expand.grid(Timestamp = 0:9, NID = 0:3)
dat$Fires = ifelse(dat$NID == 2, 1, 0)
# make the plot
ggplot(dat, aes(x = Timestamp, y = NID)) +
geom_blank() +
geom_point(dat = filter(dat, Fires == 1))
推荐阅读
- android - Android 10:如何在没有 /proc/net/arp 的情况下从 Socket / Client PC 获取 MAC 地址
- python - python中的反向DNS查找返回错误的主机
- wordpress - Wordpress 在一些图片上显示 404
- java - 试图在 JPanel 上画一条线但只画一个点
- javascript - 如何制作垂直对齐的响应式 React 引导卡?
- excel - 如果下一列在电子表格中有内容,则将单行扩展为多行
- api - 如何可靠地进行 API 调用?
- python - terraform 可以并行运行“应用”多个基础设施/工作空间吗?
- javascript - 如何使用正则表达式替换 unicode 字符?
- azure - 从 Webhook 触发时,Azure 自动化 Runbook 失败