【发布时间】: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