1.代码1:
importmatplotlib.pyplot as pltimportnumpy as np
n= 50
#随机产生50个0~2之间的x,y坐标
x = np.random.rand(n)*2y= np.random.rand(n)*2colors= np.random.rand(n) #随机产生50个0~1之间的颜色值
area = np.pi * (10 * np.random.rand(n))**2 #点的半径范围:0~10#画散点图
plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))
plt.show()
2.图1
3.且报错:
MatplotlibDeprecationWarning: Setting a circle marker using `(..., 3)` is deprecated
since Matplotlib 3.0, and support for it will be removed in 3.2. Directly pass 'o' instead.
plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))
4.修改后:
#注意marker=('o'),里面是o字母小写的o不是0(零)
plt.scatter(x, y, s=area, c=colors, alpha=0.5, marker=('o'))
#就OK了
5.代码2:
importmatplotlib.pyplot as pltimportnumpy as np
xv=[15,25,35,45,55,88,43,67,56,77,79,32,11,54,32]
n=len(xv) #n就是列表x的个数,用len就可以测
yv = [x * np.random.rand() for x inxv]
colors= np.random.rand(n) #随机产生50个0~1之间的颜色值
area = np.pi * (10 * np.random.rand(n))**2 #点的半径范围:0~10#注意marker=('o'),里面是o字母小写的o不是0(零)
plt.scatter(xv, yv, s=area, c=colors, alpha=0.5, marker=('o'))
plt.show()
6.图2
7.一个点的散点图
代码3:
importmatplotlib.pyplot as plt
plt.scatter(3,3, marker=('o'))
plt.show()
图3
8.两组数据的散点图
代码4:
importmatplotlib.pyplot as plt
x=[3,5,9,7,5,8,6,1,2,4]
y=[4,8,1,6,2,3,7,5,9,5]
plt.scatter(x,y, marker=('o'))
plt.show()
图4
9.读取excel的数据做散点图
代码5:
importmatplotlib.pyplot as pltimportpandas as pdimport xlrd #读取excel
#注意这里的excel表格只有一张表单,默认sheet1和文件地址默认根目录下#df=pd.read_excel('xxx/xxx/xxx/22.xls',sheet_name='sheet2') #比如格式自定路径下的文件和表单2
df=pd.read_excel('22.xls')
datax=df['x'] #读取x列
datay=df['y'] #读取y列
'''类似这样的数据
x=[3,5,9,7,5,8,6,1,2,4]
y=[4,8,1,6,2,3,7,5,9,5]'''
#print("读取指定行的数据:\n{0}".format(datay))
plt.scatter(datax,datay, marker=('o'))#自定义标签和标题
plt.xlabel('x-value')
plt.ylabel('y-label')
plt.title('scatter')
plt.show()
图5和图4一样,略