【问题标题】:How to better display this plot in ggplot2如何在 ggplot2 中更好地显示此图
【发布时间】:2015-03-04 03:36:03
【问题描述】:

我正在使用ggplot2生成附件。

我的问题是如何使用 R+ggplot2 来让这个绘图不那么忙碌并且更容易看到数据中发生了什么?大约有 1000 个观测值,每个观测值有 1 到 15 个数据点。我将观察结果与 >1 个数据点用线连接起来。

配色方案有什么可做的吗?或者可能将事物组合在一起?

我的代码如下所示:

ggplot(data, aes(variable, value, group=Name, color=Name))+
geom_point(alpha=.2, size=5)+
geom_line()+
geom_text(aes(label=Name),hjust=0, vjust=0, size=2)

【问题讨论】:

  • 在你知道如何展示它之前,你必须考虑你想要展示的是什么,或者至少要检查一下。
  • 也可能是 faceting 会更有效地呈现这个复杂的数据集。
  • 我有兴趣了解线条的整体趋势。我确实认为根据不同的样本限制生成大量图会有所帮助。
  • 你真的需要知道每 ~1000 行对应的哪个个人吗?除非您尝试进行诊断(即挑选出奇怪的人),否则我可能会摆脱标签,摆脱颜色(使用group 审美而不是按个人获取线条),并使用部分透明的线条(例如alpha=0.3)来了解有多少行重叠。不过,正如@TylerRinker 所说,当我们不知道您要回答什么问题时,很难就如何绘制数据提出建议。
  • 分面是 ggplot2 的一部分。他们创建了多个具有相同结构但因变量而异的面板。这是一个巨大的话题,不受 cmets 的微小限制。做一些在线阅读。大多数情况下,弄清楚你想用数据说什么。

标签: r graphics plot ggplot2


【解决方案1】:

在给出任何建议之前,您需要确定要将哪些数据组合在一起。也许您可以按性别/年龄对数据进行分组。这可以通过将“color = Name”更改为“color = Gender”来完成,如果该列存在于您的数据中。

可以使用 scale_brewer 更改配色方案。但是,在每个调色板中,可用的颜色有限,因此不可能为每个人提供不同的颜色。 http://docs.ggplot2.org/current/scale_brewer.html

如果需要,您的图例也可以在多个列中更改

+ guides(fill=guide_legend(ncol=2))

您还可以更改主题选项

axis.text.x = element_text(angle = -330)

转动 x 轴,使其可读。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-15
    • 2013-03-03
    • 2022-11-23
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    相关资源
    最近更新 更多