Matplotlib画图操作

目录

折线图

散点图

柱状图

直方图

饼图


折线图

import matplotlib.pyplot as plt
import random
import matplotlib


def prepare_x_y():
    # 准备x,y数据
    x = range(1, 31)
    y = [random.uniform(5, 30) for i in x]
    return x, y


def create_fig(x, y):
    # 创建画布
    plt.figure(figsize=(20, 8), dpi=80)
    # 绘制图像
    plt.plot(x, y)


def change_x_y(x, y):
    # 设置x,y坐标刻度
    x_label = ['{}日'.format(i) for i in x]
    plt.xticks(x, x_label)  # 列表的内容和x轴结合
    plt.yticks(range(1, 40, 5))  # 0到40,每隔5步


def add_information():
    # 创建描述信息
    plt.xlabel('时间/日')
    plt.ylabel('温度/摄氏度')
    plt.title('南华大学3月份温度变化')
    # 添加网格
    plt.grid(linestyle='--', alpha=0.5)


def save_and_show():
    # # 保存
    plt.savefig('D:/数据分析/plot.png')
    # 显示并释放图像
    plt.show()


if __name__ == '__main__':
    # 设置字体为楷体
    matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
    # 准备数据
    x, y = prepare_x_y()
    # 创建画布,绘制图像
    create_fig(x, y)
    # 改变x,y刻度
    change_x_y(x, y)
    # 添加描述信息
    add_information()
    # 展示与保存
    save_and_show()

散点图

import matplotlib.pyplot as plt
import random
import matplotlib


def prepare_x_y():
    # 准备x,y数据
    x = [1, 2, 3, 4, 5]
    y = [1, 2, 3, 4, 5]
    return x, y


def create_fig(x, y):
    # 创建画布
    plt.figure(figsize=(20, 8), dpi=300)
    # 绘制图像
    plt.scatter(x, y)


def change_x_y(x, y):
    # 设置x,y坐标刻度
    plt.xticks(range(0, 10, 1))
    plt.yticks(range(0, 10, 1))


def add_information():
    # 添加网格
    plt.grid(linestyle='--', alpha=0.5)


def save_and_show():
    # # 保存
    plt.savefig('D:/数据分析/scatter.png')
    # 显示并释放图像
    plt.show()


if __name__ == '__main__':
    # 设置字体为楷体
    matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
    # 准备数据
    x, y = prepare_x_y()
    # 创建画布,绘制图像
    create_fig(x, y)
    # 改变x,y刻度
    change_x_y(x, y)
    # 添加描述信息
    add_information()
    # 展示与保存
    save_and_show()

柱状图

import matplotlib.pyplot as plt
import random
import matplotlib


def prepare_x_y():
    # 准备x,y数据
    Major_name = ["物联网", '大数据', '软件工程', '网络工程', '软卓']
    people_num = [60, 30, 180, 65, 40]
    return Major_name, people_num


def create_fig(x, y):
    # 创建画布
    plt.figure(figsize=(20, 8), dpi=80)
    # 绘制图像
    plt.bar(x, y, width=0.2)


def change_x_y(Major_name, y):
    # 设置x,y坐标刻度
    plt.xticks(range(len(x)))
    plt.yticks(range(0, 200, 10))


def add_information():
    plt.title('计算机学院20级各专业人数')
    # 添加网格
    plt.grid(linestyle='--', alpha=0.5)


def save_and_show():
    # # 保存
    plt.savefig('D:/数据分析/bar.png')
    # 显示并释放图像
    plt.show()


if __name__ == '__main__':
    # 设置字体为楷体
    matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
    # 准备数据
    x, y = prepare_x_y()
    # 创建画布,绘制图像
    create_fig(x, y)
    # 改变x,y刻度
    change_x_y(x, y)
    # 添加描述信息
    add_information()
    # 展示与保存
    save_and_show()

直方图

import matplotlib.pyplot as plt
import random
import matplotlib


def prepare_x_y():
    # 准备x,y数据
    weight = [35, 35, 35, 40, 45, 45, 45, 50, 55, 60, 60, 60, 60, 60, 60, 60, 65, 70]
    return weight


def create_fig(x, ):
    # 创建画布
    plt.figure(figsize=(20, 8), dpi=100)
    # 组距
    distance = 2
    # 组数
    group_num = int((max(x) - min(x)) // distance)
    # 绘制图像
    plt.hist(x, bins=group_num)


def add_information():
    plt.title('计算机学院20级各专业人数')
    plt.xlabel('体重/kg')
    plt.ylabel('频数')
    # 添加网格
    plt.grid(linestyle='--', alpha=0.5)


def save_and_show():
    # # 保存
    plt.savefig('D:/数据分析/hist.png')
    # 显示并释放图像
    plt.show()


if __name__ == '__main__':
    # 设置字体为楷体
    matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
    # 准备数据
    x = prepare_x_y()
    # 创建画布,绘制图像
    create_fig(x)
    # # 改变x,y刻度
    # change_x_y(x,y)
    # 添加描述信息
    add_information()
    # 展示与保存
    save_and_show()

饼图

import matplotlib.pyplot as plt
import random
import matplotlib


def prepare_x_y():
    # 准备x,y数据
    Major_name = ["物联网", '大数据', '软件工程', '网络工程', '软卓']
    people_num = [60, 30, 180, 65, 40]
    return Major_name, people_num


def create_fig(x, y):
    # 创建画布
    plt.figure(figsize=(20, 8), dpi=80)
    # 绘制图像
    plt.pie(y, labels=x, autopct='%.2f%%')


def change_x_y():
    # 设置为圆形
    plt.axis('equal')


def add_information():
    plt.title('计算机学院20级各专业人数')
    # # 添加网格
    # plt.grid(linestyle = '--',alpha = 0.5)


def save_and_show():
    # # 保存
    plt.savefig('D:/数据分析/bar.png')
    # 显示并释放图像
    plt.show()


if __name__ == '__main__':
    # 设置字体为楷体
    matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
    # 准备数据
    x, y = prepare_x_y()
    # 创建画布,绘制图像
    create_fig(x, y)
    # 改变x,y刻度
    change_x_y()
    # 添加描述信息
    add_information()
    # 展示与保存
    save_and_show()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

依恋、阳光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值