Matplotlib Pyplot Colorbar Вопрос

Дорогие все, я пытаюсь выполнить точечный график с цветом с соответствующей цветовой шкалой. Я хотел бы, чтобы цветовая панель имела строковые значения, а не числовые значения, поскольку я сравниваю два разных набора данных, каждый из которых имеет разные цветовые значения (но в любом случае между максимальным и минимальным значениями). Вот код, который я использую

import matplotlib.pyplot as plt
import numpy as np
from numpy import *
from matplotlib import rc
import pylab
from pylab import *
from matplotlib import mpl
data   = np.loadtxt('deltaBinned.txt')
data2  = np.loadtxt('deltaHalphaBinned.txt')
fig=plt.figure()
fig.subplots_adjust(bottom=0.1)
ax=fig.add_subplot(111)
plt.xlabel(r'$\partial \Delta/\partial\Phi[$mm$/^{\circ}]

К сожалению, он не работает, так как cbar.set_ticks не принимает строковые значения. Я прочитал Линhttp://matplotlib.sourceforge.net/examples/pylab_examples/colorbar_tick_labelling_demo.html но я не смог приспособить его к своему делу. Я извиняюсь, если вопрос прост, но я только начинаю программировать на питоне, Никола.

,fontsize=16) plt.ylabel(r'$\Delta$ [mm]',fontsize=16) plt.scatter(data[:,0],data[:,1],marker='o',c=data[:,3],s=data[:,3]*1500,cmap=cm.Spectral,vmin=min(data[:,3]),vmax=max(data[:,3])) plt.scatter(data2[:,0],data2[:,1],marker='^',c=data2[:,2],s=data2[:,2]*500,cmap=cm.Spectral,vmin=min(data2[:,2]),vmax=max(data2[:,2])) cbar=plt.colorbar(ticks=[min(data2[:,2]),max(data2[:,2])]) cbar.set_ticks(['Low','High']) cbar.set_label(r'PdF') plt.show()

К сожалению, он не работает, так как cbar.set_ticks не принимает строковые значения. Я прочитал Линhttp://matplotlib.sourceforge.net/examples/pylab_examples/colorbar_tick_labelling_demo.html но я не смог приспособить его к своему делу. Я извиняюсь, если вопрос прост, но я только начинаю программировать на питоне, Никола.

Ответы на вопрос(1)

Ваш ответ на вопрос