Partially transparent scatter plot, but with a solid color bar

后端 未结 2 1542
孤街浪徒
孤街浪徒 2020-12-13 09:02

In Python, with Matplotlib, how to simply do a scatter plot with transparency (alpha < 1), but with a color bar that represents their color value, but has alpha = 1?

相关标签:
2条回答
  • 2020-12-13 09:56

    Alright, I found one way to do it, that looks relatively clean: (using the ColorBar object from the question)

    color_bar.set_alpha(1)
    color_bar.draw_all()
    # pylab.draw() or pyplot.draw() might be necessary
    

    It would be great to get a confirmation that this is the most robust way to proceed, though! :)

    0 讨论(0)
  • 2020-12-13 09:56

    This is a huge, ugly hack. But no other way would work. Maybe someone else can improve.

    fig1 = pylab.figure()
    fig2 = pylab.figure()
    ax1 = fig1.add_subplot(111)
    ax2 = fig2.add_subplot(111)
    ax1.scatter(range(10), range(10), c=range(10), alpha=0.2)
    im = ax2.scatter(range(10), range(10), c=range(10), alpha=1.0)
    fig1.colorbar(im, ax=ax1)
    fig1.show()
    

    alt text

    0 讨论(0)
提交回复
热议问题