python下的matplotlib、pandas做散点图的逐步深入分析

1.代码1:

import matplotlib.pyplot as plt
import numpy as np

n = 50
# 随机产生50个0~2之间的x,y坐标
x = np.random.rand(n)*2
y = np.random.rand(n)*2
colors = 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:

import matplotlib.pyplot as plt
import numpy 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 in xv]

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:

import matplotlib.pyplot as plt
plt.scatter(3,3, marker=('o'))
plt.show()

 

图3

8.两组数据的散点图
代码4:

import matplotlib.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:

import matplotlib.pyplot as plt
import pandas as pd
import 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一样,略

posted @ 2020-02-29 09:50  米大头jason  阅读(2012)  评论(0编辑  收藏  举报