当前位置:   article > 正文

Python--Matplotlib数据可视化教程(散点图)_matplotlib如何将列表集合中的坐标散点可视化

matplotlib如何将列表集合中的坐标散点可视化

这两天数学建模中需要画个散点图,索性就把代码发上来吧,帖子嘛~当然是多多益善喽
这里写图片描述


数据是一千组x,y坐标数据
打印下head

E:\Anaconda3\python.exe E:/Anaconda3/Lib/site-packages/tensorflow/examples/tutorials/mnist/剑魔.py
           0         1         2          3          4
0  person_ID  pickup_x  pickup_y  dropoff_x  dropoff_y
1      p0001        23   30.2029    22.6848       28.5
2      p0002        21   25.5917    21.3687       24.5
3      p0003   21.3153      25.5    22.2491         24
4      p0004   20.2052      25.5    18.6191       21.5
         0        1        2
0  taxi_ID    now_x    now_y
1    t0001  20.8034  25.0000
2    t0002  22.7184  24.5000
3    t0003  25.5000  27.3651
4    t0004  26.0000  32.0301

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

上代码:

import pandas as pd
import matplotlib.pyplot as plt

# 加载数据
data = pd.read_csv('C:/Users/Administrator/Desktop/A题/requests.csv', header=None)
taxi = pd.read_csv('C:/Users/Administrator/Desktop/A题/taxi.csv', header=None)
print(data.head())
print(taxi.head())

# 上车地点坐标数据
x_up = data.loc[1:, 1:1].values
x_up_list = list(x_up)
y_up = data.loc[1:, 2:2].values
y_up_list = list(y_up)
# 下车地点坐标数据
x_down = data.loc[1:, 3:3].values
x_down_list = list(x_down)
y_down = data.loc[1:, 4:].values
y_down_list = list(y_down)
# 空车位置坐标数据
x_taxi = taxi.loc[1:, 1:1].values
x_taxi_list = list(x_taxi)
y_taxi = taxi.loc[1:, 2:2].values
y_taxi_list = list(y_taxi)

fig = plt.figure(0)
plt.xlabel('x')
plt.ylabel('y')
plt.title('requests')
plt.scatter(x_up_list, y_up_list, c='red', alpha=1, marker='+', label='pickup') # c='red'定义为红色,alpha是透明度,marker是画的样式
plt.scatter(x_down_list, y_down_list, c='blue', alpha=1, marker='+', label='dropout') # c='blue'定义为蓝色
plt.scatter(x_taxi_list, y_taxi_list, c='green', alpha=1, marker='+', label='Taxi') # c='green'定义为绿色
plt.grid(True)
plt.legend(loc='best')
plt.show()


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

跟画折线、条形图啊其实就一回事,就是就是换了个画图的函数plt.scatter()


这里写图片描述


局部放大后:
这里写图片描述


**划重点。。。**图中的散点我用的是+画出来的,当然可以有很多很多中形状可以画
上面代码中数据太多,为了更好说明我取50个随机坐标作演示。

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

样式汇总:


marker=(9, 3, 30)
  • 1

这里写图片描述


marker='.'
  • 1

这里写图片描述


marker=','
  • 1

这里写图片描述


marker='o'
  • 1

这里写图片描述


marker='v'
  • 1

这里写图片描述


marker='^'
  • 1

这里写图片描述


marker='<'
  • 1

这里写图片描述


marker='>'
  • 1

这里写图片描述


marker='1'
  • 1

这里写图片描述


marker='2'
  • 1

这里写图片描述


marker='3'
  • 1

这里写图片描述


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/181915?site
推荐阅读
相关标签
  

闽ICP备14008679号