57442


matplotlibの散布図のカラーマッピングにおいて，`plt.colorbar()`を散布図プロット後にしているのですが，そこで以下のエラーが発生し，描画できません．  
以下のサイトを参考にしたのですが，，，

  * [matplotlib で散布図 (Scatter plot) を描く](https://pythondatascience.plavox.info/matplotlib/%E6%95%A3%E5%B8%83%E5%9B%B3)
  * [Matplotlibで3D Dataを2D color mapとしてプロットしたい - teratail](https://teratail.com/questions/140818)

一方で，`plt.colorbar()`をコメントアウトするとカラーバーが無い散布図のカラーマッピングが描画できます．

カラーバーを表示させる方法を教えてください．よろしくお願いいたします．

Pythonのグラフプロットのコードは以下  
（`medi_paTV_lnaTV[][N, M]`のリストは，`len(paTVarr) == N`，`len(lnaTVarr) ==
M`の2次元配列）

[code]

    import matplotlib.pyplot as plt    
    fig = plt.figure()
    ax = fig.add_subplot(1, 1, 1)
    # ========= カラー散布図を描画 =========
    for i, item in enumerate(medi_paTV_lnaTV[0]):
        ax.scatter(np.full(len(paTVarr), paTVarr[i]).tolist(), lnaTVarr, c=medi_paTV_lnaTV[i], s=100, cmap=cm.jet, edgecolors=None)
    plt.colorbar()  # => ここでエラー発生
    # ===================================
    
[/code]

発生したエラーは以下

[code]

    $ python make_corrCoef_data.py 
    Traceback (most recent call last):
      File "make_corrCoef_data.py", line 58, in <module>
        plt.colorbar()
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/pyplot.py", line 2114, in colorbar
        raise RuntimeError('No mappable was found to use for colorbar '
    RuntimeError: No mappable was found to use for colorbar creation. First define a mappable such as an image (with imshow) or a contour set (with contourf).
    
[/code]


CC BY-SA 4.0
2019-08-12T11:01:09.073
57317
2019-08-19T05:24:08.607
2019-08-12T13:01:45.173
3060
30173
question
python matplotlib
matplotlibの.colorbar()でカラーバーが表示されない


`xx = plt.gca()`，`PCM = ax.get_children()[2]`，`plt.colorbar(PCM,
ax=xx)`を`plt.colorbar()`の手前に挿入することで解決しました．参考URL:<https://stackoverflow.com/questions/23090791/matplotlib-
colorbar-not-working-due-to-garbage-collection>


CC BY-SA 4.0
2019-08-19T05:24:08.607
57442
2019-08-19T05:24:08.607
30173
57317
answer