matplotlib.pyplot散点图线使用x坐标,y坐标和颜色的列表

时间:2015-07-09 23:38:59

标签: python matplotlib graph plot line

Matplotlib connect scatterplot points with line - Python

检查了这个并且他们的解决方案非常简单,使用plt.plot(x_coordinates,y_coordinates,' - o')但是我有一个我正在使用的颜色列表所以我不能使用这种方法。它们是RGB颜色。 (也不确定为什么颜色在同一系列中交替出现)

如何使用与标记颜色相同的线条连接这些点?

import matplotlib.pyplot as plt
import random
x_coordinates = [(range(1,4))]*2
y_coordinates = [[3,4,5],[2,2,2]]
color_map = []
for i in range(0,len(x_coordinates)):
    r = lambda: random.randint(0,255)
    rgb_hex = ('#%02X%02X%02X' % (r(),r(),r()))
    color_map.append(rgb_hex)
plt.scatter(x_coordinates,y_coordinates,c=color_map)
plt.show()

1 个答案:

答案 0 :(得分:1)

您可以绘制散点图后面的线条,并设置zorder以确保线条位于点后面。
enter image description here

import matplotlib.pyplot as plt
import random

x_coordinates = [(range(1,65))]*2
y_coordinates = [[random.randint(0,10) for i in range(0,64)]*2]
color_map = []

for i in range(0,len(x_coordinates)):
    r = lambda: random.randint(0,255)
    rgb_hex = ('#%02X%02X%02X' % (r(),r(),r()))
    color_map.append(rgb_hex)
plt.plot(x_coordinates[0],y_coordinates[0][:len(x_coordinates[0])],'-', 
                          zorder=2, , color=(.7,)*3)
plt.scatter(x_coordinates,y_coordinates,c=color_map, s=60, zorder=3)

plt.show()