2

カスタム ラベルを持つ ggplot オブジェクトを使用して、R からプロット プロットを作成しようとしています。

#library('devtools')
#install_github("ropensci/plotly")
library('plotly')
set_credentials_file(username="your_name", api_key="your_key")

py <- plotly()
labels = LETTERS[sample(x=26, size=nrow(iris), replace=T)]
ggiris <- ggplot(iris, aes(Petal.Width, Sepal.Length, color = Species)) + geom_point()

r <- py$ggplotly(ggiris)
r$response

labels特定のデータポイントの値が取得され、データポイントにカーソルを合わせたときにのみ表示されるようにしたいと思います。

4

1 に答える 1

2

私は同じ問題を見てきましたが、あなたがする必要があるのは次のようなものだと思います( https://stackoverflow.com/a/27007513/829256および Twitter の @plotlygraphs への h/t 経由)

# first use your Plotly connection and retrieve data for the ggiris plot you uploaded
irisplot <- py$get_figure('username', n)  # where n = the number of this plot on your account

# inspect the irisplot object
str(irisplot)  # a list of 2

# inspect irisplot$data
str(irisplot$data)  # a list of 3, one list for each Species

# overwrite 'text' for each Species list
irisplot$data[[1]]$text <- labels[1:50]
irisplot$data[[2]]$text <- labels[51:100]
irisplot$data[[3]]$text <- labels[101:150]

# re-upload to Plotly
resp <- py$plotly(irisplot$data, kwargs = list(layout = irisplot$layout))

# check out your new plot
resp$url

したがって、プロットには、マウスオーバーでツールチップとして表示される、各データ ポイントの「ラベル」からの値が含まれているはずです。

おそらく、ポイントにラベルを割り当てる方法をもっと賢くしたいと思うでしょうが、うまくいけば、これで始めることができます。

そして、ありがとう、この質問に取り組むことは、私自身のタスクを解決するのにも役立つと思います:-)

于 2014-11-19T18:56:56.720 に答える