r语言 - 如何使用'fileInput'函数绘制 ggplot 来馈送上传的数据?



我正在尝试开发一个shiny app,其中我为用户提供上传数据文件(CSV 或 txt)的选项。然后我想从这些数据中呈现ggplotplotly。该数据集中有各种列。因此,我需要渲染各种绘图,并且它们将由用户在该数据集中选择列作为 x 轴数据和 y 轴数据来呈现。我为用户提供了选择 x 轴和 y 轴数据列的选项。但是,当我输入用户选择用于绘图的数据列时,输出不显示任何图形。

我的绘图的代码:

df <- mtcars
ggplot(df, aes(x, y)) +
geom_point(aes(color='blue'))

我应该使用aes还是aes_string来呈现上传数据的列?

我有一段时间试图在闪亮中展示情节时遇到了这个确切的问题。 考虑到您可能让用户选择一个selectInput下拉列表进行列选择,对吗? 这将向ggplot函数发送一个字符串 (chr)。

通常,您使用aes()来选择美学,但这不适用于字符串。 为此,您需要aes_string(). 它的使用方式与aes()完全相同,但所有调用都是字符串。 有关信息,请参阅文档。

因此,如果您的ggplot电话是:

ggplot(myData, aes(x=something, y=somethingElse)) +
geom_point(aes(color=prettyColors))

如果数据集中的列myData为"something"、"somethingElse"和"prettyColors",则使用aes_string(),您可以使用以下方法创建相同的绘图:

ggplot(myData, aes_string(x="something", y="somethingElse")) +
geom_point(aes_string(color="prettyColors"))

最新更新