列の数に関係なく、plotly()を使用してデータフレームの列をプロットする

マジッド

以下のようにplt.total、5行(obs)と7列(変数)で構成される名前のデータフレームがあります。

set.seed(2018)
plt.total <- data.frame(replicate(7,runif(5, min=0.80, max=0.9)))
colnames(plt.total) <- c("R", paste0("Matrix",1:6))
plt.total[,1] <- c(1:5)

次にplotly、以下のようにプロットします。

plot_ly(data=plt.total, x = ~R, y = ~Matrix1, name = 'Matrix 1', type = 'scatter', mode = 'lines',
                  line = list(color = 'rgb(205, 12, 24)', width = 3, dash = 'dashdot')) %>%
        add_trace(y = ~Matrix2, name = 'Matrix 2', line = list(color = 'rgb(22, 96, 167)', width = 3, dash = 'solid' )) %>%
        add_trace(y = ~Matrix3, name = 'Matrix 3', line = list(color = 'rgb(205, 12, 24)', width = 3, dash = 'longdashdot')) %>%
        add_trace(y = ~Matrix4, name = 'Matrix 4', line = list(color = 'rgb(22, 96, 167)', width = 3, dash = 'dash')) %>%
        add_trace(y = ~Matrix5, name = 'Matrix 5', line = list(color = 'rgb(205, 12, 24)', width = 3, dash = 'dot')) %>%
        add_trace(y = ~Matrix6, name = 'Matrix 6', line = list(color = 'rgb(22, 96, 167)', width = 3, dash = 'dot')) %>%
layout(title = "", legend = list(x=0, y=0, font = list(family = "Times", size = 14, color = "#000")))

ここに画像の説明を入力してください

ただし、私の問題はplt.total、「列」の数が時々変化することであり、(を使用してadd_trace毎回スクリプトを変更しないようにする方法を見つけようとしていますしたがって、私の目標はplotly、列の数に関係なく、を使用してデータフレームの各列の入力をプロットすることです。

ありがとう

ジョン・スプリング

1つのアプローチは、plt.totalテーブルを長い「整頓された」形式に変換することです。これにより、個別の系列を手動で追加する代わりに、行列番号にマップできます。

ここでは、データの形状を長くするように変更し、観測がどの系列に属するかを示す新しい「行列」フィールドを使用します。

plt.total.tidy <-
  plt.total %>%
  tidyr::gather(matrix, value, -R)

私のplotly-fuはまだあまり良くないので、ここでは最初にggplotでチャートを作成し、次にそれを使用してプロットに移植しplotly::ggplotly、選択したレイアウトを追加します。色と線種を手動で指定するのではなく、手動で指定する場合は、scale_color_manualおよびscale_linetype_manual関数を使用して指定できます

library(ggplot2)
p <- ggplot(plt.total.tidy, aes(R, value, color = matrix, lty = matrix)) +
  geom_line(size = 1.1) +
  theme(legend.position = c(0.1,0.1)) #+   
  # Could add below lines if you want to manually pick colors and linetypes
  # scale_color_manual(....) +
  # scale_linetype_manual(....) +

ggplotly(p) %>%
  layout(title = "", legend = list(x=0, y=0, font = list(family = "Times", size = 14, color = "#000")))

ここに画像の説明を入力してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

列の数に関係なく、データフレームに行ごとに関数を適用します

分類Dev

matplotlibを使用してプロットしながら、データフレーム列の文字列に基づいてカラーマップを作成する

分類Dev

データフレームのn列をrgplotを使用した行としてrにプロットする

分類Dev

共有「x」を使用してデータフレームの複数の列をプロットします

分類Dev

データフレーム内の列のデータ型に基づいて、カウントプロットをプロットしたり、ヒストグラムをプロットしたりする関数を作成します

分類Dev

seabornを使用してデータフレーム内の複数の列に対して1つの線形回帰散布図をプロットする方法は?

分類Dev

列の値に基づいて明確な曲線を使用してPandasデータフレームからデータをプロットする

分類Dev

データフレームの複数の列を複数のプロットにプロットする(Python)

分類Dev

Sparkとscalaを使用して、SparkデータフレームのJSONタイプの列からキーに関係なくすべての値をフェッチします

分類Dev

ggplotを使用してデータフレームの2列を表す2点間に複数の線をプロットする方法

分類Dev

異なる色のggplotを使用して複数のデータフレームをプロットする

分類Dev

データフレーム固有の列数をバーとしてプロットするパンダ

分類Dev

散布図として、1つのプロットに異なるデータフレームの異なる列をプロットします

分類Dev

データフレームの列タイプを係数ではなく文字に設定します(デフォルト)R

分類Dev

ggplotでapply関数を使用して、データフレーム列のサブセットをプロットします

分類Dev

関数を使用してデータフレームの列を変更する

分類Dev

R:線を使用してデータフレームの1つの列を他のすべての列と一緒にプロットする

分類Dev

Forループを使用してデータフレームの列の間に複数の列を追加する

分類Dev

Plotly Express:px.bar()を使用してスタックされていないデータフレームをプロットするときのエラー

分類Dev

Seabornを使用してパンダデータフレームの列の複数のグループを並べてプロットする方法

分類Dev

データフレームの異なる列を使用して、1つのプロットに複数のグラフをプロットするにはどうすればよいですか?

分類Dev

同じx軸に対してmatplotlibを使用して、データフレームの他の列の条件で列値をプロットする

分類Dev

データフレームの列にマップ関数を適用する

分類Dev

mutate()を使用して、他の列の任意のセットの関数として列をデータフレームに追加します

分類Dev

データブリックス上の別のpysparkデータフレームのいくつかの列に基づいて、大きなpysparkデータフレームの列に対してユーザー定義関数を実行します

分類Dev

すべての列名が存在するかどうかに関係なく、パンダデータフレームから列を削除します

分類Dev

rの別のデータフレームのデータフレームの他の列値を使用して計算された複数のベクトルの値を収集するためのループまたは関数を作成するには?

分類Dev

1つの列に異なるデータを使用してExcelに複数の線をプロットする

分類Dev

カンマを含むデータフレームの列を数値データに変換してプロットする

Related 関連記事

  1. 1

    列の数に関係なく、データフレームに行ごとに関数を適用します

  2. 2

    matplotlibを使用してプロットしながら、データフレーム列の文字列に基づいてカラーマップを作成する

  3. 3

    データフレームのn列をrgplotを使用した行としてrにプロットする

  4. 4

    共有「x」を使用してデータフレームの複数の列をプロットします

  5. 5

    データフレーム内の列のデータ型に基づいて、カウントプロットをプロットしたり、ヒストグラムをプロットしたりする関数を作成します

  6. 6

    seabornを使用してデータフレーム内の複数の列に対して1つの線形回帰散布図をプロットする方法は?

  7. 7

    列の値に基づいて明確な曲線を使用してPandasデータフレームからデータをプロットする

  8. 8

    データフレームの複数の列を複数のプロットにプロットする(Python)

  9. 9

    Sparkとscalaを使用して、SparkデータフレームのJSONタイプの列からキーに関係なくすべての値をフェッチします

  10. 10

    ggplotを使用してデータフレームの2列を表す2点間に複数の線をプロットする方法

  11. 11

    異なる色のggplotを使用して複数のデータフレームをプロットする

  12. 12

    データフレーム固有の列数をバーとしてプロットするパンダ

  13. 13

    散布図として、1つのプロットに異なるデータフレームの異なる列をプロットします

  14. 14

    データフレームの列タイプを係数ではなく文字に設定します(デフォルト)R

  15. 15

    ggplotでapply関数を使用して、データフレーム列のサブセットをプロットします

  16. 16

    関数を使用してデータフレームの列を変更する

  17. 17

    R:線を使用してデータフレームの1つの列を他のすべての列と一緒にプロットする

  18. 18

    Forループを使用してデータフレームの列の間に複数の列を追加する

  19. 19

    Plotly Express:px.bar()を使用してスタックされていないデータフレームをプロットするときのエラー

  20. 20

    Seabornを使用してパンダデータフレームの列の複数のグループを並べてプロットする方法

  21. 21

    データフレームの異なる列を使用して、1つのプロットに複数のグラフをプロットするにはどうすればよいですか?

  22. 22

    同じx軸に対してmatplotlibを使用して、データフレームの他の列の条件で列値をプロットする

  23. 23

    データフレームの列にマップ関数を適用する

  24. 24

    mutate()を使用して、他の列の任意のセットの関数として列をデータフレームに追加します

  25. 25

    データブリックス上の別のpysparkデータフレームのいくつかの列に基づいて、大きなpysparkデータフレームの列に対してユーザー定義関数を実行します

  26. 26

    すべての列名が存在するかどうかに関係なく、パンダデータフレームから列を削除します

  27. 27

    rの別のデータフレームのデータフレームの他の列値を使用して計算された複数のベクトルの値を収集するためのループまたは関数を作成するには?

  28. 28

    1つの列に異なるデータを使用してExcelに複数の線をプロットする

  29. 29

    カンマを含むデータフレームの列を数値データに変換してプロットする

ホットタグ

アーカイブ