【问题标题】:Unwanted Color Palette on Plot情节上不需要的调色板
【发布时间】:2019-04-29 08:43:58
【问题描述】:

我创建的绘图出现问题,我在绘图上获得了不需要的附加调色板。

我的脚本使用数据列表来创建带有彩色点的图。

plt.close('all')
fig, axes = plt.subplots(nrows = 1, ncols = 1)
fig.set_facecolor('white')
axes.set_ylabel('$dz$ [$\AA$]')
axes.set_xlabel('Time [ns]')
axes.spines['right'].set_visible(False)
axes.spines['top'].set_visible(False)
axes.yaxis.set_ticks_position('left')
axes.xaxis.set_ticks_position('bottom')
axes.tick_params(direction='out')
#axes.set_title('N/A')
axes.set_ylim(-20,10)
axes.set_xlim(0, 90)
cmap = plt.get_cmap('plasma')
colors = [cmap(i) for i in np.linspace(0, 1, 9)]
# Make Color Bar ------------------------------------------------------
cax = 0
divider = make_axes_locatable(axes)
cax = divider.append_axes('right', size='5%', pad=0.1)
im = axes.imshow(np.linspace(1, 8.5, 100).reshape(10, 10), cmap='plasma')
fig.colorbar(im, cax=cax)
#----------------------------------------------------------------------
for i, dist in enumerate(dz):
    if i % 100 == 0:
        x = i / 1000 
        y = dist
        phval = final_pH_array[i]
        axes.plot(x, y, 'k.', markersize = 4 , color = colors[int(phval)], clip_on = False)
plt.savefig('plot.pdf')
plt.show()

结果如下所示:

如您所见,有一个额外的颜色条/调色板,我不想在情节上但似乎无法摆脱它。

对此的任何帮助都会很棒!

【问题讨论】:

  • 您在代码中通过im = axes.imshow(...) 行创建此图像。所以你需要删除那条线。看起来您正在创建的颜色条显示了您使用的更多颜色;也就是说,你只使用 8 种不同的颜色,对吧?所以有人会只为这 8 种颜色创建一个颜色条吗?

标签: python matplotlib colorbar color-palette


【解决方案1】:

我认为im.set_visible(False) 应该可以实现您想要的。

但也许你应该看看plt.scatterscatter 返回一个 PathCollection,您可以将其传递给 colorbar 函数。

【讨论】:

    猜你喜欢
    • 2011-04-28
    • 1970-01-01
    • 2014-12-29
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多