Python
 Computer >> コンピューター >  >> プログラミング >> Python

X軸がパンダの日時インデックスである場合、マルチカラーラインをプロットするにはどうすればよいですか?


X軸がパンダの日時インデックスである場合に多色線をプロットするには、次の手順を実行できます-

  • 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。
  • numpyを使用してd、y、sのデータポイントを作成します。
  • 図とサブプロットのセットを作成します。
  • numpyを使用してxval、p、sデータポイントを取得します。
  • ホットカラーマップとsデータポイントを含むラインコレクションインスタンスを取得します。
  • 長軸と短軸のロケーターを設定し、軸フォーマッターを設定します。
  • データ制限を使用してビュー制限を自動スケーリングします。
  • 図を表示するには、 show()を使用します メソッド。

import pandas as pd
from matplotlib import pyplot as plt, dates as mdates, collections as c
import numpy as np

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

d = pd.date_range("2021-01-01", "2021-06-01", freq="7D")
y = np.cumsum(np.random.normal(size=len(d)))
s = pd.Series(y, index=d)

fig, ax = plt.subplots()

xval = mdates.date2num(s.index.to_pydatetime())
p = np.array([xval, s.values]).T.reshape(-1, 1, 2)
s = np.concatenate([p[:-1], p[1:]], axis=1)
lc = c.LineCollection(s, cmap="hot")
lc.set_array(xval)

ax.add_collection(lc)
ax.xaxis.set_major_locator(mdates.MonthLocator())
ax.xaxis.set_minor_locator(mdates.DayLocator())
m = mdates.DateFormatter("%b")
ax.xaxis.set_major_formatter(m)
ax.autoscale_view()

plt.show()

出力

次の出力が生成されます

X軸がパンダの日時インデックスである場合、マルチカラーラインをプロットするにはどうすればよいですか? X軸がパンダの日時インデックスである場合、マルチカラーラインをプロットするにはどうすればよいですか?


  1. Pythonで散布図に線をオーバープロットするにはどうすればよいですか?

    まず、散布図を使用してさまざまなデータポイントの散布図を作成し、次に、プロット方法を使用して線をプロットできます。 ステップ figure()メソッドを使用して、新しいFigureを作成するか、Figure size(4、3)で既存のFigureをアクティブ化します。 現在の図形に軸を追加して現在の軸にし、plt.axes()を使用してxを作成します。 scatter()メソッドを使用して散布点を描画します。 ax.plot()メソッドを使用して線を引きます。 plt.xlabel()メソッドを使用してX軸ラベルを設定します。 plt.ylabel()メソッ

  2. パンダの時系列プロットに垂直線をどのようにプロットしますか?

    パンダを使用して、データフレームを作成し、axvline線を使用して、作成した軸に垂直線を設定します。 ステップ パンダを使用して、データフレームを作成できます。 データフレームを作成すると、ヘルプを作成するのに役立ちます。 axvline()を使用して、軸を横切る垂直線を追加します。色は緑で、linestyle=dashedです。 axvline()を使用して、軸を横切る垂直線を追加します。色は赤で、linestyle=dashedです。 plt.show()を使用して、プロットを表示します。 例 import pandas as pd from matpl