バーの上に線を正しくプロットする方法は?

42ピラタス

これは以前は正常に機能していましたが、どういうわけか機能しなくなりました(何かを誤って変更したに違いありませんが、問題を見つけることができません)。

日付ごとに3つのバーのセットと、そのうちの1つの累積値を示す線をプロットしています。ただし、適切にプロットされているのは、いずれか(棒または線)のみです。バーのコードを最後に残した場合、バーのみがプロットされます。行のコードを最後に残した場合、行のみがプロットされます。

fig, ax = plt.subplots(figsize = (15,8))

df.groupby("date")["result"].sum().cumsum().plot(
    ax=ax,
    marker='D',
    lw=2,
    color="purple")

df.groupby("date")[selected_columns].sum().plot(
    ax=ax,
    kind="bar",
    color=["blue", "red", "gold"])

ax.legend(["LINE",  "X", "Y", "Z"])

助けに感謝します!

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

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

JohanC

Pandasは、x軸をカテゴリとして棒グラフを描画するため、内部に番号を付けて0, 1, 2, ...からラベルを設定します。折れ線グラフは、日付をx軸として使用します。それらを組み合わせるには、両方がカテゴリである必要があります。最も簡単な方法は、折れ線グラフからインデックスを削除することです。折れ線グラフが最初に描画されていることを確認し、棒グラフでラベルを正しく設定できるようにします。

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({'date': pd.date_range('20210101', periods=10),
                   'earnings': np.random.randint(100, 600, 10),
                   'costs': np.random.randint(0, 200, 10)})
df['result'] = df['earnings'] - df['costs']

fig, ax = plt.subplots(figsize=(15, 8))

df.groupby("date")["result"].sum().cumsum().reset_index(drop=True).plot(
    ax=ax,
    marker='D',
    lw=2,
    color="purple")
df.groupby("date")[['earnings', 'costs', 'result']].sum().plot(
    ax=ax,
    kind="bar",
    rot=0,
    width=0.8,
    color=["blue", "red", "gold"])
ax.legend(['Cumul.result', 'earnings', 'costs', 'result'])
# shorten the tick labels to only the date
ax.set_xticklabels([tick.get_text()[:10] for tick in ax.get_xticklabels()])
ax.set_ylim(ymin=0) # bar plots are nicer when bars start at zero
plt.tight_layout()
plt.show()

プロット例

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

リーフレットRに線を正しくプロットする方法は?

分類Dev

Pythonの散布図に線をオーバープロットする方法は?

分類Dev

バープロットに凡例を正しく表示する

分類Dev

バープロットをRの正規分布に正規化する方法は?

分類Dev

d3のデータを正規化し、他の線の範囲とは無関係に軸に線をプロットする方法

分類Dev

Matplotlibは各バーの上の線をプロットします

分類Dev

バープロットを使用する場合、グリッド線の上にバーをどのようにプロットしますか?

分類Dev

個々の年の月次データを同じプロットに正しくプロットする方法

分類Dev

テキストの下に直接表示するのではなく、メニューバーの境界線からドロップダウンを開始する方法

分類Dev

ggplot2を使用してヒストグラム上に正規曲線をプロットする:コードは0で直線を生成します

分類Dev

matplotlibのサブプロット上に等高線をオーバープロットする

分類Dev

matplotlibを使用してデータを正しくプロットする方法は?

分類Dev

MATLABの同じプロット上に等高線プロット行列を構成するデータポイントをオーバーレイします

分類Dev

各サブプロットにいくつかの曲線があるPlotlyでサブプロットを作成するためにループする方法は?

分類Dev

SolrのDirectUpdateHandler2でコミットを正しくロールバックする方法は?

分類Dev

プロット上のテキストを正しくホバーしない

分類Dev

角度5のオーバーフローテキストにdotdotdotを正しく使用する方法は?

分類Dev

グローバル名前空間にAngularJSアプリをセットアップする正しい方法は?

分類Dev

ビットマップc#をグローバルビットマップに正しく破棄する

分類Dev

jsスクリプトをhtml / djangoTemplateに正しくロードする方法は?

分類Dev

光沢のあるプロットプロットを正しく出力する方法は?

分類Dev

ブートストラップでテキストオーバーフローを正しく使用する方法

分類Dev

両対数プロットの線形回帰の初期点を正しく推測するにはどうすればよいですか?

分類Dev

matplotlibの2Dカラープロットに線をオーバープロットする方法はありますか?

分類Dev

gnuplot:複数のデータブロック上に実線でプロットする方法は?

分類Dev

プロット:グループ化された結果を複数の線にプロットする方法は?

分類Dev

プロットの凡例の線の上にボックスを中央揃えする方法は?

分類Dev

ロジックを別々のアプリケーションに正しく分離する方法は?

分類Dev

Ubuntu 16.04 LTS以降のバージョンにMATEデスクトップ環境を正しくインストールする方法は?

Related 関連記事

  1. 1

    リーフレットRに線を正しくプロットする方法は?

  2. 2

    Pythonの散布図に線をオーバープロットする方法は?

  3. 3

    バープロットに凡例を正しく表示する

  4. 4

    バープロットをRの正規分布に正規化する方法は?

  5. 5

    d3のデータを正規化し、他の線の範囲とは無関係に軸に線をプロットする方法

  6. 6

    Matplotlibは各バーの上の線をプロットします

  7. 7

    バープロットを使用する場合、グリッド線の上にバーをどのようにプロットしますか?

  8. 8

    個々の年の月次データを同じプロットに正しくプロットする方法

  9. 9

    テキストの下に直接表示するのではなく、メニューバーの境界線からドロップダウンを開始する方法

  10. 10

    ggplot2を使用してヒストグラム上に正規曲線をプロットする:コードは0で直線を生成します

  11. 11

    matplotlibのサブプロット上に等高線をオーバープロットする

  12. 12

    matplotlibを使用してデータを正しくプロットする方法は?

  13. 13

    MATLABの同じプロット上に等高線プロット行列を構成するデータポイントをオーバーレイします

  14. 14

    各サブプロットにいくつかの曲線があるPlotlyでサブプロットを作成するためにループする方法は?

  15. 15

    SolrのDirectUpdateHandler2でコミットを正しくロールバックする方法は?

  16. 16

    プロット上のテキストを正しくホバーしない

  17. 17

    角度5のオーバーフローテキストにdotdotdotを正しく使用する方法は?

  18. 18

    グローバル名前空間にAngularJSアプリをセットアップする正しい方法は?

  19. 19

    ビットマップc#をグローバルビットマップに正しく破棄する

  20. 20

    jsスクリプトをhtml / djangoTemplateに正しくロードする方法は?

  21. 21

    光沢のあるプロットプロットを正しく出力する方法は?

  22. 22

    ブートストラップでテキストオーバーフローを正しく使用する方法

  23. 23

    両対数プロットの線形回帰の初期点を正しく推測するにはどうすればよいですか?

  24. 24

    matplotlibの2Dカラープロットに線をオーバープロットする方法はありますか?

  25. 25

    gnuplot:複数のデータブロック上に実線でプロットする方法は?

  26. 26

    プロット:グループ化された結果を複数の線にプロットする方法は?

  27. 27

    プロットの凡例の線の上にボックスを中央揃えする方法は?

  28. 28

    ロジックを別々のアプリケーションに正しく分離する方法は?

  29. 29

    Ubuntu 16.04 LTS以降のバージョンにMATEデスクトップ環境を正しくインストールする方法は?

ホットタグ

アーカイブ