Использование Matplotlib, вы могли бы сделать что-то вроде этого:
from __future__ import division
from matplotlib import pyplot as plt
import numpy as np
plt.ion()
centers = [0.1, 0.5, 1.0]
radii = [0.1, 0.2, 0.3]
num_circs = len(centers)
# make plot
fig, ax = plt.subplots(figsize=(6, 6))
red = np.linspace(0, 1, num_circs)
green = 0. * red
blue = 1. - red
colors = np.array([red, green, blue]).T
power = 1.5 # adjust this upward to make brightness fall off faster
for ii, (center_x, radius) in enumerate(zip(centers, radii)):
color = colors[ii]
brightness = ((num_circs-ii)/num_circs)**power # low ii is brighter
color = color * brightness
circle = plt.Circle((center_x, 0.), radius, color=color)
ax.add_artist(circle)
_ = plt.axis([-0.3, 1.5, -0.9, 0.9], 'equal')
plt.savefig('circles.png')
, которая производит это:
Смотрите, если это отвечает на ваш вопрос: http://stackoverflow.com/questions/12965075/matplotlib -scatter-plot-color-as-function-of-third-variable/12965761 # 12965761 –
Большое спасибо. Я просто решил проблему, используя «plt.cm.Greys» в matplotlib. – Juan