一个Python函数解决散点图绘制——Matplotlib库示例

Posted Z.Q.Feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个Python函数解决散点图绘制——Matplotlib库示例相关的知识,希望对你有一定的参考价值。

系列文章目录

该系列部分文章目录:


文章目录

一、前言

二、函数代码

三、使用步骤

        1. 引入库

        2. 生成数据

        3. 调用函数 

四、变量说明


一、前言

使用一个函数即可实现折线图的绘制,我们只需要准备号处理好的数据,传入到函数中并调用,即可实现折线图的绘制与输出。

  • Python版本:3.8.10
  • Matplotlib版本:3.3.2

注:Matplotlib 版本信息可以通过 pip show matplotlib 命令获得


二、函数代码

复制粘贴即可。

def ScatterPlot(x, y, filename):
    """
    Created on Mon Jul 19 11:18:22 2021

    Input :
        x           A list that stores the abscissa elements you want to draw
        y           A list of ordinate elements that you want to draw
        filename    The name of the image you are about to save

    Output :
        None

    @author: zq
    """
    # 设置 matplotlib 参数以显示 TeX 字体,不用可删去
    plt.rcParams.update(plt.rcParamsDefault)
    plt.rcParams['text.usetex'] = True
    plt.rcParams['font.size'] = 18
    plt.rcParams['font.family'] = "serif"


    #------------更改以下变量值以修改图像样式-------------#
    # 更改点的大小
    size = 100
    # 线条颜色,红色:#DC143C,蓝色:#0000FF,绿色:#008000
    # 橙色:#FFA500,黑色:#000000,灰色:#808080
    color = '#DC143C'
    # 更改点的样式:'x', 'o'(默认), 'a',可以使用希腊字母(LaTeX格式)
    marker = 'o' # r'$\\beta$'
    # 点透明度
    alpha = 0.7
    # 添加图像标签,可使用 TeX 公式,函数内已设置好数学环境
    label = 'y = sin^2(x) + cos(x)'
    xlabel, ylabel = 'x', 'y'
    #------------更改以上变量值以修改图像样式-------------#

    # 创建图片,可自行设置图片横纵比
    plt.figure(figsize = (7, 6))
    # 横、纵坐标标签
    plt.xlabel('$' + xlabel + '$')
    plt.ylabel('$' + ylabel + '$')
    # 绘制图像
    plt.scatter(x, y, s = size, c = color, marker = marker,\\
                alpha = alpha, label = '$' + label + '$')
    # 使轴比例尺相同
    plt.axis('equal')
    # 显示图像
    plt.show()
    # 保存图片为 png 格式
    plt.savefig(filename, dpi = 300, bbox_inches = 'tight', facecolor = 'w')

要更改生成的图像样式,只需要更改函数体第二部分的变量值即可。


三、使用步骤

1. 引入库

代码如下:

import numpy as np
import matplotlib.pyplot as plt

2. 生成数据

这里我们使用上述函数绘制二维平面上的一系列随机点值,首先我们创造点坐标数据如下:

N = 100
x = np.random.random(N) * 100
y = np.random.random(N) * 100

其中 x 、y 为两个列表,并且元素个数一定要相同

3. 调用函数 

调用函数,生成图像,这里我们保存的图像文件名为 sample1.png,主函数代码如下:

if __name__ == '__main__':

    N = 100

    x = np.random.random(N) * 100
    y = np.random.random(N) * 100
    filename = 'sample1'

    ScatterPlot(x, y, filename)

生成图像如下: 


四、变量说明

以下不同变量之间的配置情况均以图片对比的方式进行说明:

1. size、color 变量

2. marker 变量

3. alpha 变量


文章到此就结束了,有帮助可以点赞哦,谢谢大家的支持!  

以上是关于一个Python函数解决散点图绘制——Matplotlib库示例的主要内容,如果未能解决你的问题,请参考以下文章

python 绘制三维图形、三维数据散点图

Python使用scatter()绘制散点图

可视化实验十:利用Python绘制棒图散点图

可视化实验十:利用Python绘制棒图散点图

Python绘图之seaborn

Python绘图之seaborn