3

plotly以下のR Markdownコードで指定されたデータを使用して、セカンダリY軸にストレートゼロ以外のものを表示しようとしています:

---
title: "Test Stack Overflow Trending"
author: ""
date: ""
output:
   html_document:
      self_contained: no
---

```{r plot1, results='asis', tidy=FALSE, echo=FALSE, fig.retina=NULL, message=FALSE, out.width = "92%", out.height="450px"}

require(plotly)
require(data.table)

mydt <- data.table(NAME = "Overall", Val = c(391234, 518834, 489567),perc = c(0.24,0.25,0.24), mytdate=c("2015-09-01","2015-10-01","2015-11-01"))

mydt$mydate <- as.Date(mydt$mytdate,"%Y-%m-%d")

p1 <- mydt %>%
  plot_ly(x = mydate, y = Val,type = "scatter", mode = "markers") %>%
add_trace(x = mydate, y = perc, yaxis = "y2", mode="lines+markers") %>%
  layout(showlegend = F, xaxis=list(title=""),yaxis=list(title=""),yaxis2 = list(side="right",overlay="y", ticks="inside",tickformat = ":04,2f"))

p1

```

Windows 7 64 ビット オペレーティング システムで R 3.1.3 64 ビットを使用しています。plotly パッケージ バージョン 2.0.16 (2015 年 12 月中旬に Github からダウンロード) を使用しています。

Google Chrome を使用して取得している画像を次に示します。バージョンは 47.0.2526.111 で、以下に添付されています。右手の軸が一定のゼロを示していることに注意してください。0.21、0.22、0.23、0.24 のような表示にしたいです。これを tickformat オプションで変更する方法が必要であることはわかっていますが、まだ解決していません。 Google Chrome で表示される出力

4

2 に答える 2

4

問題を解決する方法は思いつきましたが、ドキュメントで見つける必要がありました。したがって、余白とプロットのサイズで遊ぶ必要があります。さらに、ラベルを追加するための十分なマージンが得られます。

m = list(
    l = 50,
    r = 50,
    b = 100,
    t = 100,
    pad = 4
)

layout()そして aを追加してheightwidth

p1 <- mydt %>%
    plot_ly(x = mydate, y = Val,type = "scatter", mode = "markers") %>%
    add_trace(x = mydate, y = perc, yaxis = "y2", mode="lines+markers") %>%
    layout(showlegend = F, xaxis=list(title=""),yaxis=list(title=""),yaxis2 = list(side="right",overlay="y", ticks="inside",tickformat = ":04,2f")) %>% layout(autosize = F, width = 750, height = 500, margin = m)

p1

ここに画像の説明を入力

于 2016-01-22T22:54:41.087 に答える
0

さて、私は自分の質問に対する解決策を見つけました。レイアウトで showlegend=F オプションを削除すると、y2 軸が正しく表示されます。凡例を表示したくない場合、それを機能させる方法はまだわかりません。また、レイアウトに間違ったオプションがあります。「オーバーレイ」ではなく「オーバーレイ」と読む必要があります。可能であれば、 showlegend=F を使用したより良い回答をいただければ幸いです。

于 2016-01-22T22:35:43.137 に答える