我有这样的数据集
x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y=[5, 10, 15, 20, 25, 5, 10, 15, 20, 25,]
我想用
做散点图x
和y
的前5个元素,其中一个标记形状,颜色从蓝色变为红色x
和y
的下5个元素,下一个标记和颜色与第一个相同。实际上我有x
有1000个元素,y
有10x100个元素。我想绘制(10组散点)10种不同的标记形状和所有起始颜色,从蓝色到红色。
示例:
x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y=[5, 10, 15, 20, 25, 5, 10, 15, 20, 25,]
c=['o', '*']
z=[.1, .2, .3, .4, .5, .6, .7, .8, .9, .99]
plt.scatter( X, Y, marker=x, c=z)
答案 0 :(得分:3)
首先,您的代码中存在一些问题,变量是大写的,然后是小写的,但Python区分大小写。
marker
选项只允许单个字符,因此您无法传递它们的列表。相反,您需要循环并更改您想要的每件作品。您的数据的一个小例子在
import matplotlib.pyplot as plt
x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y=[5, 10, 15, 20, 25, 5, 10, 15, 20, 25,]
marker= ['o', 's']
z=[.1, .3, .5, .7, .99]
n = 5
for k in range(2):
plt.scatter(x[k*n:(k + 1)*n], y[k*n:(k + 1)*n], s=100,
marker=marker[k], c=z)
这给出了结果