python 中使用 matplotlib绘制简单图像

python 中使用 matplotlib绘制简单图像,第1张

导包:

# coding=utf-8
import numpy as py
from matplotlib import pyplot as plt # 导入画图工具
import random
# 支持中文
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

绘制简单的折线图:
图例1
根据温度绘制折线图:

# 定义数据,日期
x = range(2,26,2)
# 定义温度
y = [15,13,14,5,17,8,26,26,24,22,18,15]
# 实例化一个图像,设置大小(20x8),dpi可以让图像更加清晰
fig = plt.figure(figsize=(20,8),dpi=80)
# 设置x轴刻度
plt.xticks(range(2,25))
# 设置y轴刻度(由y数据集,决定y轴中,刻度最低的值和刻度最高的值)
plt.yticks(range(min(y),max(y)+1))
# 给图像赋值
plt.plot(x,y)
plt.show()

图例2
绘制小白和小黑,11到30岁获得奖项的折线图:

# 11 到 30岁获得的奖项
y_1 = [1,0,1,1,2,4,3,2,6,4,4,5,6,5,4,3,3,1,1]
y_2 = [3,0,1,2,2,5,1,2,2,2,7,5,5,5,4,2,0,0,1]
x = range(11,30)

# 需要设置一下,每条折线的标签,否则后面的legend会报错
plt.plot(x,y_1,label="小白")
plt.plot(x,y_2,label="小黑")

# 定义x轴的的刻度值
x_label = ["{}岁".format(i) for i in x]

# rotation 设置x轴倾斜度数
plt.xticks(x,x_label,rotation=60)
plt.yticks(range(min(y),max(y)))

# 绘制网格
plt.grid(alpha = 0.4)

# 设置x轴和y轴的标签
plt.xlabel("年龄")
plt.ylabel("次数 单位(次)")

# 图例 
plt.legend()
plt.show()


绘制散点图:

a = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,19,21,22,22,22,23,15]
b = [26,26,28,19,24,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
# 设置x轴的长度
x = range(31)
# 设置x轴刻度值
x_tickes = ["5月{}日".format(i) for i in  range(32)]
# 给散点图赋值
plt.scatter(x,a)
plt.scatter(x,b)
# 设置x轴和y轴的刻度
plt.xticks(x[::3],x_tickes[::3],rotation=60)
plt.yticks(range(min(a),max(b)))
#展示图像
plt.show()


根据3日的电影数据绘制条形图:

a = ["猩球崛起","敦刻尔克","蜘蛛侠","战狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,339,2359,362]
# 设置每条数据所间隔的宽度为0.2
x_14 = list(range(len(a)))
x_15 = [i+0.2 for i in x_14]
x_16 = [i+0.4 for i in x_14]
# 绘制每条数据,间隔0.2,每条条状图宽度为0.2
plt.bar(x_14,b_14,width=0.2,label = "14日")
plt.bar(x_15,b_15,width=0.2,label = "15日")
plt.bar(x_16,b_16,width=0.2,label = "16日")
# 打印图例
plt.legend()
# 设置x轴刻度,放在中间,所以用15日的刻度位置
plt.xticks(x_15,a)
# 展示图像
plt.show()

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/717958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存