matplotlib绘制折线图基础数据分析
程序员文章站
2024-03-07 17:25:09
...
1、10点到12点温度的变化
import random
from matplotlib import pyplot as plt
import matplotlib
from matplotlib import font_manager
# 设置绘制图形支持中文, windows Linux Mac通用设置字体
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\simhei.ttf')
# 确定x,y轴
x = range(0,120)
y = [random.randint(20,35) for i in range(120)]
# 设置图片的样式大小
plt.figure(figsize=(15,8), dpi=80)
# 绘制图形
plt.plot(x,y)
# 调整x的刻度
# _x = list(x)[::3] # 后面的[::10]是取列表的步长
_xtick_labls = ["10点{}分".format(i) for i in range(60)]
_xtick_labls += ["11点{}分".format(i) for i in range(60)]
# 添加描述信息
plt.xlabel('时间', fontproperties=my_font)
plt.ylabel('温度 单位(℃)', fontproperties=my_font)
plt.title('10点到12点随机温度的变化情况', fontproperties=my_font)
# 取步长,数字和字符串一一对应
# rotation 表示让字符串进行旋转
plt.xticks(x[::3], _xtick_labls[::3], rotation=45, fontproperties=my_font)
plt.show()
2、一个图上画两条折线图
# 一个图上绘制多条线段
from matplotlib import pyplot as plt
from matplotlib import font_manager
# 设置中文字体显示
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\simhei.ttf')
x = range(11,31,1)
y_1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2 = [2,1,0,1,3,6,4,1,2,2,3,8,4,2,3,6,4,2,5,3]
plt.figure(figsize=(15,8), dpi=80)
# plot两次就可以了
plt.plot(x,y_1, label='自己', color='yellow')
plt.plot(x,y_2, label='同桌', color='cyan')
# 设置x轴的刻度
_xtick_labls = ['{}岁'.format(i) for i in range(11,31)]
plt.xticks(x, _xtick_labls, rotation=45, fontproperties=my_font)
plt.yticks(range(0,10))
# 设置x y 轴的注释,以及图形的标题
plt.xlabel('年龄', fontproperties=my_font)
plt.ylabel('交朋友的个数 (单位:个)', fontproperties=my_font)
plt.title('随着年龄的增长交朋友的个数曲线图', fontproperties=my_font)
# alpha 设置透明度
plt.grid(alpha=0.4)
# 添加图例
# 只有在这里是使用prop来接收中文标注
plt.legend(prop=my_font)
# 保存图片
plt.savefig('./t1.png')
plt.show()