【问题标题】:creating a graph with more than one column from a pandas dataframe using ggplot2 library使用 ggplot2 库从 pandas 数据框中创建包含多列的图表
【发布时间】:2016-02-12 16:22:54
【问题描述】:

我已经能够创建一个图表,其中单个列中的数据点显示为 Y 轴,日期显示为 X 轴。

是否可以使用 GGplot 沿 Y 轴显示来自 pandas 数据框的多列数据?

ggplot_obj = ggplot(df.reset_index(), aes('date','close')) + geom_line() + ggtitle(graph_title)

例如,由于我正在绘制股票数据,因此我希望能够根据日期显示最高价和最低价以及开盘价。我可以做类似的事情吗:

ggplot_obj = ggplot(df.reset_index(), aes('date',['close','High','Low'])) + geom_line() + ggtitle(graph_title)

目前,我正在通过循环筛选数据帧并将该数据帧发送到 ggplot 以创建绘图的 stock_codes 列表来创建这些图表。

有没有更有效的方法来做到这一点?

【问题讨论】:

    标签: python pandas ggplot2


    【解决方案1】:

    最简单的方法是将映射到y 的所有值放在一列中。你可以使用tidyr

    library("ggplot2")
    library("tidyr")
    
    mtcars$low <- mtcars$disp * 0.75
    mtcars$high <- mtcars$disp * 1.25
    
    mtcars_tidy <- gather(data = mtcars, key = "cat", value = "value", disp, low, high)
    
    ggplot(mtcars_tidy, aes(x = mpg, y = value, color = cat)) +
      geom_line()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 2020-11-12
      • 1970-01-01
      • 2020-05-06
      • 2021-12-06
      相关资源
      最近更新 更多