同じウィンドウで 2 種類のプロット (つまり、折れ線グラフと散布図) をグラフ化しようとしています。折れ線グラフ (最初のプロット) にプロットされているデータは、気候指数 (Y) 対 10 進年 (X) を表す浮動数値です。私が「散布」したい 2 番目のプロットはほとんど同じですが、河川の流れ (Y) と 10 進数 (X) を表す数値が浮動しています。散布図に双子の x 軸と 2 番目の寄生虫の y 軸を使用して、次のようにこれを達成しようとしました。
import mpl_toolkits
from mpl_toolkits.axes_grid1 import host_subplot
import matplotlib.pyplot as plt
host = host_subplot(111)
par = host.twinx()
host.set_xlim(1880, 2020)
host.set_ylim(-5, 10)
host.set_xlabel("Time")
host.set_ylabel("PDSI Region 01")
par.set_ylabel("Minimum 10% Annual 7-day Non-exceedance Flow (cfs)")
x1 = timearray
y1 = pdsiarray01
x2 = upAmm_yr
y2 = upAmm_min
p1, = host.plot(x1, y1, label="PDSI01")
p2, = par.scatter(x2, y2, label="Annual Lowflow Upper Amm")
par.set_ylim(30, 60)
host.legend()
host.axis["left"].label.set_color(p1.get_color())
par.axis["right"].label.set_color(p2.get_color())
plt.draw()
plt.show()
エラーコードが表示されます:
TypeError: cannot perform reduce with flexible type
このコードは、p2 で始まる行の散布図をプロットに置き換えると正常に機能しますが、2 番目のライン プロットが生成されます。分散させたい最終的な理由は、2 番目のデータセットにプロットするポイントがはるかに少なく、それらを結ぶ線が気を散らして「乱雑」にすることです (必要な場合は、瞬間を強調する必要があります)。散布図の代わりに棒グラフも機能します。どんな提案や助けも大歓迎です!