python:matplotlib.pyplot绘制散点图(基础一) 您所在的位置:网站首页 数据分布情况用散点图 python:matplotlib.pyplot绘制散点图(基础一)

python:matplotlib.pyplot绘制散点图(基础一)

2024-06-20 09:16| 来源: 网络整理| 查看: 265

1.先读取excel文件,使用scatter()函数绘制简单的散点图,此时很多变量都为默认值

import matplotlib.pyplot as plt import pandas as pd # 读取excel文件 file_data = pd.read_excel('data.xls') # 创建画布 fig = plt.figure(figsize=(16, 8)) # 定义图标名称,横纵坐标名称 plt.xlabel('时间', fontproperties='KaiTi') plt.ylabel('输出应变量', fontproperties='KaiTi') plt.title('时间与输出变量关系图', fontproperties='KaiTi') # 绘制简单的散点图 """x:设置横轴坐标 y:设置纵轴坐标""" plt.scatter(x=file_data['时间'], y=file_data['输出应变量']) plt.show() plt.close()

运行结果图 

 

 

2.对散点图进行美化,可以设置散点图的形状marker(使用了*形状),点的大小s(即根据点对应的数值大小,对点的大小进行调整。在这里,使用for循环对‘输出应变量’一列的数值存入一个名为size的列表中),颜色c (在这里,使用了random随机生成的数字对颜色进行调整)等

import matplotlib.pyplot as plt import pandas as pd import numpy as np # 读取excel文件 # 读取文件的内容为DataFrame形式 file_data = pd.read_excel('data.xls') # 创建画布 fig = plt.figure(figsize=(16, 8)) # 定义图标名称,横纵坐标名称 plt.xlabel('时间', fontproperties='KaiTi') plt.ylabel('输出应变量', fontproperties='KaiTi') plt.title('时间与输出变量关系图', fontproperties='KaiTi') # 如果要根据具体的数值来确定散点图中散点的大小,可将具体数值赋值给scatter中的变量s size = list() for i in file_data['输出应变量']: size.append(i+100) # 绘制简单的散点图 """x:设置横轴坐标 y:设置纵轴坐标 s:设置散点图中点的大小 c:设置散点图颜色 marker:设置散点的形状""" plt.scatter(x=file_data['时间'], y=file_data['输出应变量'], s=size, c=np.random.randint(0, 50, 20), marker='*') plt.show() plt.close()

 运行结果图

 3.设置图例, 默认显示在图的右上角,

方法一,使用label对图例进行设置,在scatter函数中增加label参数,对图例命名,适用于图中只有一类散点图时,此时需要加上plt.legend(),否则图例不能显示

p1 = plt.scatter(x=file_data['时间'], y=file_data['输出应变量'], s=size, c=np.random.randint(0, 50, 20), marker='*', label='line') plt.legend()

方法二,适用于一个图中有多个形状的散点,分别设置不同的图例

p1 = plt.scatter(x=file_data['时间'], y=file_data['输出应变量'], s=size, c=np.random.randint(0, 50, 20), marker='*', label='line1') p2 = plt.scatter(x=file_data['时间'], y=file_data['变量4'], s=size, c=np.random.randint(0, 50, 20), marker='o', label='line2') # 设置图例legend plt.legend((p1, p2), ('line 1', 'line 2')) plt.legend(['line1', 'line2']) # plt.legend()

 

关于matplotlib.pyplot的更详细用法:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.html

关于matplotlib.legend的更详细用法:

https://matplotlib.org/stable/api/legend_api.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有