一.使用matplotlib库在Python中绘制一个简单的折线图
# coding=utf-8
from matplotlib import pyplot as plt # 导入matplotlib库中的pyplot模块,并重命名为plt# 设置图片大小,dpi是每英寸点数,figsize是图像的宽和高
plt.figure(figsize=(20, 8), dpi=80)# 定义x轴的数据点
x = range(2, 26, 2)
# 定义y轴的数据点
y = [15, 13, 14., 17, 20, 25, 26, 26, 27, 22, 18, 15]# 绘制折线图,x轴数据为x,y轴数据为y
plt.plot(x, y)# 生成新的x轴刻度标签,这里是将原始的x轴刻度除以2
_xtick_labels = [i / 2 for i in range(4, 49)]
# 设置x轴刻度,使用新的刻度标签,并且每隔3个刻度显示一个(即每隔6个单位显示一个刻度)
plt.xticks(_xtick_labels[::3])# 设置y轴刻度,从y轴数据的最小值到最大值,步长为1
plt.yticks(range(min(y), max(y) + 1))# 保存图片,可以选择保存,这里注释掉了
# plt.savefig('./test1.png')# 显示图像
plt.show()
这段代码首先设置了图像的大小,然后定义了x轴和y轴的数据点,接着绘制了折线图,设置了x轴和y轴的刻度,并显示了图像。效果如下:
二.使用matplotlib库在Python中绘制一个折线图,展示从10点到12点每分钟的气温变化
# coding=utf-8
from matplotlib import pyplot as plt # 导入matplotlib库中的pyplot模块,并重命名为plt
import random # 导入random模块,用于生成随机数
import matplotlib # 导入matplotlib库
from matplotlib import font_manager # 导入font_manager模块,用于设置字体# 设置字体,这里是SimHei字体,粗体,大小为8
font = {'family': 'SimHei','weight': 'bold','size': 8,}
matplotlib.rc('font', **font) # 应用字体设置# 定义x轴的数据点,从0到120,每分钟一个点
x = range(0, 120)
# 定义y轴的数据点,随机生成20到35之间的整数,表示气温
y = [random.randint(20, 35) for i in range(120)]# 设置图片大小,dpi是每英寸点数,figsize是图像的宽和高
plt.figure(figsize=(20, 8), dpi=80)# 绘制折线图,x轴数据为x,y轴数据为y
plt.plot(x, y)# 生成新的x轴刻度标签,这里是将时间格式化为"10点{}分"和"11点{}分"
_xtick_labels = ['10点{}分'.format(i) for i in range(60)]
_xtick_labels += ['11点{}分'.format(i) for i in range(60)]
# 设置x轴刻度,使用新的刻度标签,并且每隔3个刻度显示一个(即每隔3分钟显示一个刻度)
# 同时设置旋转角度为45度,字体为之前定义的font
plt.xticks(list(x)[::3], _xtick_labels[::3], rotation=45, fontproperties=font)# 添加x轴标签,显示"时间",字体为之前定义的font
plt.xlabel('时间', fontproperties=font)# 添加y轴标签,显示"温度 单位(℃)",字体为之前定义的font
plt.ylabel('温度 单位(℃)', fontproperties=font)# 添加图表标题,显示"10点到12点每分钟的气温变化",字体为之前定义的font
plt.title('10点到12点每分钟的气温变化', fontproperties=font)# 显示图像
plt.show()
这段代码首先设置了图像的大小和字体,然后生成了x轴和y轴的数据点,接着绘制了折线图,设置了x轴的刻度,添加了x轴和y轴的标签,以及图表的标题,并显示了图像。效果如下:
三.使用matplotlib库在Python中绘制一个折线图,展示不同年龄段的人数分布
# coding=utf-8
from matplotlib import pyplot as plt # 导入matplotlib库中的pyplot模块,并重命名为plt
from matplotlib import font_manager # 导入font_manager模块,用于设置字体# 加载指定的字体文件,这里是微软雅黑字体,字体大小为10
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\msyh.ttc', size=10)# y轴的数据点,表示不同年龄段的人数
y = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
# x轴的数据点,表示年龄,从11岁到30岁
x = range(11, 31)# 设置图形大小,dpi是每英寸点数,figsize是图像的宽和高
plt.figure(figsize=(20, 8), dpi=80)# 绘制折线图,x轴数据为x,y轴数据为y
plt.plot(x, y)# 生成新的x轴刻度标签,这里是将年龄格式化为"{}岁"
_xtick_labels = ['{}岁'.format(i) for i in x]
# 设置x轴刻度,使用新的刻度标签,并且使用指定的字体
plt.xticks(x, _xtick_labels, fontproperties=my_font)
# 设置y轴刻度,从0到8,步长为1
plt.yticks(range(0, 9))# 绘制网格,alpha参数设置网格线的透明度
plt.grid(alpha=0.4)# 显示图像
plt.show()
这段代码首先设置了图像的大小和字体,然后定义了x轴和y轴的数据点,接着绘制了折线图,设置了x轴和y轴的刻度,绘制了网格,并显示了图像。效果如下:
四.使用matplotlib库在Python中绘制两个折线图,分别代表"自己"和"同桌"在不同年龄段的人数分布
# coding=utf-8
from matplotlib import font_manager # 导入font_manager模块,用于设置字体
from matplotlib import pyplot as plt # 导入matplotlib库中的pyplot模块,并重命名为plt# 加载指定的字体文件,这里是微软雅黑字体,字体大小为10
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\msyh.ttc', size=10)# y轴的数据点,表示"自己"在不同年龄段的人数
y_1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
# y轴的数据点,表示"同桌"在不同年龄段的人数
y_2 = [1, 0, 3, 1, 2, 2, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1]
# x轴的数据点,表示年龄,从11岁到30岁
x = range(11, 31)# 设置图形大小,dpi是每英寸点数,figsize是图像的宽和高
plt.figure(figsize=(20, 8), dpi=80)# 绘制折线图,x轴数据为x,y轴数据为y_1,线条颜色为红色,线型为虚线,标签为"自己"
plt.plot(x, y_1, label='自己', color='red', linestyle='--')
# 绘制折线图,x轴数据为x,y轴数据为y_2,线条颜色为蓝色,线型为点划线,标签为"同桌"
plt.plot(x, y_2, label='同桌', color='blue', linestyle='-.')# 生成新的x轴刻度标签,这里是将年龄格式化为"{}岁"
_xtick_labels = ['{}岁'.format(i) for i in x]
# 设置x轴刻度,使用新的刻度标签,并且使用指定的字体
plt.xticks(x, _xtick_labels, fontproperties=my_font)# 绘制网格,alpha参数设置网格线的透明度,linestyle设置网格线的线型为点线
plt.grid(alpha=0.4, linestyle=':')# 添加图例,位置为左上角,使用指定的字体
plt.legend(prop=my_font, loc='upper left')# 显示图像
plt.show()
这段代码首先设置了图像的大小和字体,然后定义了两个y轴的数据点和x轴的数据点,接着分别绘制了两个折线图,设置了x轴的刻度,绘制了网格,添加了图例,并显示了图像。效果如下: