xyシフトで複数のヒストグラムをオーバーレイする方法

AintheT

複数のヒストグラムをオーバーレイし、それぞれをxy軸上でシフトしようとしています。これまでのところ、個々のプロットを生成し、イラストレーターを使用して最終的なプロットを設計していますが、すべてをスクリプトで実行したいと思います。長い間試してみましたが、うまくいきませんでした。小さなテキストケースを用意しました。このデータセットにはあまり意味がありませんが、私のデータにはかなり良い解決策です。誰かが助けてくれたらとても嬉しいです。ありがとう

オーバーレイされたヒストグラムを生成するサンプルコードは次のとおりです。

import random
import numpy
import matplotlib.pyplot as plt
%matplotlib inline

data1 = [random.gauss(3,2) for _ in range(400)]
data2 = [random.gauss(4,2) for _ in range(400)]
data3 = [random.gauss(5,2) for _ in range(400)]

bins = numpy.linspace(-10, 10, 100)

plt.xlim(0, 10)
plt.ylim(0, 25)

plt.hist(data3, bins, label='data3')
plt.hist(data2, bins, label='data2')
plt.hist(data1, bins, label='data1')
plt.legend(loc='upper right')
plt.savefig("trial01.pdf", transparent=True)

オーバーレイされたヒストグラム

しかし、私が欲しい図はそれに似ています

予想されるヒストグラム図

ImportanceOfBeingErnest

おそらく、その内容とともに完全な軸をシフトしたいと思うでしょう。これには、各ヒストグラムを独自の軸にプロットし、軸を共有し、それぞれの軸の位置を設定する必要があります(ax.set_position)。次に、必要に応じてティック、スパイン、ラベルをオフにすることができます。

import random
import numpy
import matplotlib.pyplot as plt
from matplotlib.transforms import Bbox

data1 = [random.gauss(3,2) for _ in range(400)]
data2 = [random.gauss(4,2) for _ in range(400)]
data3 = [random.gauss(5,2) for _ in range(400)]

bins = numpy.linspace(-10, 10, 100)

fig, ax1 = plt.subplots()

ax2 = fig.add_subplot(111, sharex=ax1, sharey=ax1, label="ax2")
ax3 = fig.add_subplot(111, sharex=ax1, sharey=ax1, label="ax3")

ax1.set(xlim=(0, 10), ylim=(0, 25))

ax1.hist(data3, bins, label='data3', color="C2")
ax2.hist(data2, bins, label='data2', color="C1")
ax3.hist(data1, bins, label='data1', color="C0")
fig.legend(loc='upper right')


xshift=0.04; yshift=0.04
for i, ax in enumerate((ax3,ax2,ax1)):
    ax.patch.set_visible(False)
    pos = ax.get_position()
    newpos = Bbox.from_bounds(pos.x0+i*xshift, pos.y0+i*yshift, pos.width, pos.height)
    ax.set_position(newpos)
    for sp in ["top", "right"]:
        ax.spines[sp].set_visible(False)

    if ax != ax3:
        ax.spines["left"].set_visible(False)
        ax.tick_params(labelleft=False, left=False, labelbottom=False)

fig.savefig("trial01.pdf", transparent=True)
plt.show()

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

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

RPlotlyで2つのヒストグラムをオーバーレイする

分類Dev

オーバーレイヒストグラムを作成する方法をボケ

分類Dev

Seabornジョイントプロットを別のデータセットの「周辺」(分布ヒストグラム)でオーバーレイする方法

分類Dev

元の数値を比率でヒストグラムにオーバーレイします

分類Dev

Pythonで複数のサブプロットデータフレームヒストグラムをプロットする方法は?

分類Dev

2つのヒストグラムをplotlyexpressでオーバーレイ

分類Dev

rの決定木にヒストグラムプロットをオーバーレイする

分類Dev

オーバーレイ付きのPandasDataFrameからの複数のヒストグラム

分類Dev

ggplotのヒストグラムとヒストグラムの境界線をオーバーレイ

分類Dev

R-複数のオーバーレイグラフ/散布図をプロットする方法は?

分類Dev

R:データのヒストグラム上にポアソン分布をオーバーレイする

分類Dev

Rでggplot2を使用してヒストグラムをオーバーレイする

分類Dev

Rでモードを正規化するためにデータフレームスライスをヒストグラム関数に渡す方法は?

分類Dev

PDFをオーバーレイしたヒストグラム

分類Dev

RのヒストグラムデータフレームでANOVAとTukeyのHSDを実行する方法

分類Dev

ヒストグラムと密度プロットを密度ではなくY軸の数値とオーバーラップする方法

分類Dev

rのggplotで複数のファセットヒストグラムをプロットする方法は?

分類Dev

密度ヒストグラムをRに適合するガンマ分布でオーバーレイする方法は?

分類Dev

PDFをオーバーレイしてヒストグラムをプロットする

分類Dev

1つのプロットに3つのヒストグラムをオーバーレイします

分類Dev

複数のcsvファイルを読み取ってヒストグラムをプロットする方法

分類Dev

経験的密度とdnorm関数を使用したヒストグラムのオーバーレイ

分類Dev

1列のみで複数行のデータフレームのヒストグラムを作成する方法(行の値はx軸にプロットし、列の値はy軸にプロットする必要があります)

分類Dev

プログラムでAndroidデバイスのUSBストレージをオフにする

分類Dev

画像のヒストグラムをシフトする方法

分類Dev

プライムフェイスの複数のデータテーブルで同じリストをレンダリングする方法

分類Dev

Plotlyを使用してRのヒストグラムの上に垂直線をオーバーレイします

分類Dev

(Kibana)ヒストグラムバーを複数のセクションに分割します(画像を参照)

分類Dev

複数のオペレーティングシステムにVisualStudioをインストールする

Related 関連記事

  1. 1

    RPlotlyで2つのヒストグラムをオーバーレイする

  2. 2

    オーバーレイヒストグラムを作成する方法をボケ

  3. 3

    Seabornジョイントプロットを別のデータセットの「周辺」(分布ヒストグラム)でオーバーレイする方法

  4. 4

    元の数値を比率でヒストグラムにオーバーレイします

  5. 5

    Pythonで複数のサブプロットデータフレームヒストグラムをプロットする方法は?

  6. 6

    2つのヒストグラムをplotlyexpressでオーバーレイ

  7. 7

    rの決定木にヒストグラムプロットをオーバーレイする

  8. 8

    オーバーレイ付きのPandasDataFrameからの複数のヒストグラム

  9. 9

    ggplotのヒストグラムとヒストグラムの境界線をオーバーレイ

  10. 10

    R-複数のオーバーレイグラフ/散布図をプロットする方法は?

  11. 11

    R:データのヒストグラム上にポアソン分布をオーバーレイする

  12. 12

    Rでggplot2を使用してヒストグラムをオーバーレイする

  13. 13

    Rでモードを正規化するためにデータフレームスライスをヒストグラム関数に渡す方法は?

  14. 14

    PDFをオーバーレイしたヒストグラム

  15. 15

    RのヒストグラムデータフレームでANOVAとTukeyのHSDを実行する方法

  16. 16

    ヒストグラムと密度プロットを密度ではなくY軸の数値とオーバーラップする方法

  17. 17

    rのggplotで複数のファセットヒストグラムをプロットする方法は?

  18. 18

    密度ヒストグラムをRに適合するガンマ分布でオーバーレイする方法は?

  19. 19

    PDFをオーバーレイしてヒストグラムをプロットする

  20. 20

    1つのプロットに3つのヒストグラムをオーバーレイします

  21. 21

    複数のcsvファイルを読み取ってヒストグラムをプロットする方法

  22. 22

    経験的密度とdnorm関数を使用したヒストグラムのオーバーレイ

  23. 23

    1列のみで複数行のデータフレームのヒストグラムを作成する方法(行の値はx軸にプロットし、列の値はy軸にプロットする必要があります)

  24. 24

    プログラムでAndroidデバイスのUSBストレージをオフにする

  25. 25

    画像のヒストグラムをシフトする方法

  26. 26

    プライムフェイスの複数のデータテーブルで同じリストをレンダリングする方法

  27. 27

    Plotlyを使用してRのヒストグラムの上に垂直線をオーバーレイします

  28. 28

    (Kibana)ヒストグラムバーを複数のセクションに分割します(画像を参照)

  29. 29

    複数のオペレーティングシステムにVisualStudioをインストールする

ホットタグ

アーカイブ