我有一个记录单个细胞的寿命和生成时间的数据集,我想将其绘制如下: Example_RLS_plot 参考: https://doi.org/10.1186/s12951-022-01379 -9
这是我的示例数据集:
| Cell | Generation | Doubling_time |
| -------- | ---------- |-------------- |
| 1 | 1 | 40 |
| 1 | 2 | 70 |
| 1 | 3 | 80 |
| 1 | 4 | 100 |
| 1 | 5 | 100 |
| 1 | 6 | 80 |
| 1 | 7 | 90 |
| 1 | 8 | 70 |
| 1 | 9 | 190 |
| 2 | 1 | 50 |
| 2 | 2 | 90 |
| 2 | 3 | 100 |
| 2 | 4 | 90 |
| 2 | 5 | 80 |
| 2 | 6 | 160 |
| 2 | 7 | 250 |
| 2 | 8 | 170 |
| 2 | 9 | 170 |
| 3 | 1 | 60 |
| 3 | 2 | 100 |
| 3 | 3 | 100 |
| 3 | 4 | 150 |
| 3 | 5 | 100 |
| 3 | 6 | 130 |
| 3 | 7 | 120 |
| 3 | 8 | 450 |
我是 R 的超级新手,我当前的统计软件(Prism)无法处理这种类型的图。我很感谢任何包/来源的线索来帮助我生成类似的图。非常感谢!!
我尝试使用 Prism 绘制它,但它当然不如示例图那么复杂。 Prism 生成的 RLS 加倍时间 而且它也不支持排序/同步数据。很想学习如何用 R 或 Python 或任何开源工具来实现它!
library(ggplot2)
library(dplyr)
# 创建示例数据
df <- data.frame(
Cell = c(rep(1, 9), rep(2, 9), rep(3, 8)),
Generation = c(1:9, 1:9, 1:8),
Doubling_time = c(40, 70, 80, 100, 100, 80, 90, 70, 190, 50, 90, 100, 90, 80, 160, 250, 170, 170, 60, 100, 100, 150, 100, 130, 120, 450)
)
# 计算累积加倍时间
df <- df %>%
group_by(Cell) %>%
mutate(Cumulative_time = cumsum(Doubling_time))
# 创建寿命图
ggplot(df, aes(x = Cumulative_time, y = Generation, group = Cell)) +
geom_line(aes(color = factor(Cell))) +
geom_point(aes(color = factor(Cell)), size = 3) +
labs(x = "时间(分钟)", y = "代", color = "细胞") +
theme_classic()
这将创建一个寿命图,其中:
- x 轴 表示每个细胞的累积加倍时间(分钟)。
- y 轴 表示世代数。
- 每条线 代表一个不同的细胞。
- 每条线上的点 代表细胞分裂的事件。
你可以通过调整
ggplot2
中的参数来定制绘图的外观,例如颜色、线条类型和主题。
其他提示:
- 你可以按照你的喜好更改轴标签。
- 你可以添加图例标题或完全删除图例。
-
你可以探索
ggplot2
中的不同主题以更改绘图的外观。
我希望这有帮助!如果你有任何其他问题,请告诉我。
标签:python,r,plot From: 78799974