【问题标题】:Simplest way to plot dataframe with one row in R在 R 中用一行绘制数据框的最简单方法
【发布时间】:2021-08-14 22:59:51
【问题描述】:

制作以下数据框的条形图的最简单方法是什么:

df <- data.frame(val1=10, val2=50)

我想在 y 轴上绘制 1050,并在 x 轴上相应地绘制 val1val2。 ggplot 要求 aes,但由于没有行名,并且我想将列名绘制为 x 值,因此会出错。

有没有不修改数据框本身的简单方法?

【问题讨论】:

  • 如果有行名,您仍然无法绘制条形图。你必须先重塑你的数据。 SO上有很多问题展示了如何做到这一点。
  • 试试这个library(tidyverse); df &lt;- data.frame(val1=10, val2=50); df %&gt;% gather() %&gt;% ggplot(aes(key, value))+ geom_col()
  • 参考thisthis
  • plot(rev(stack(df)))
  • @G.Grothendieck 谢谢!这与我一直在寻找的最相似。

标签: r dataframe ggplot2 plot


【解决方案1】:

也许将df 转换为命名向量并将其提供给barplot()

barplot(unlist(df)) 

【讨论】:

    猜你喜欢
    • 2010-10-26
    • 1970-01-01
    • 2017-11-20
    • 2010-10-09
    • 2020-06-27
    • 2015-06-26
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    相关资源
    最近更新 更多