Matplotlib中的折线图

折线图简介

折线图,是一种将点按照顺序连接起来的图形,可以看做是将散点图,按照x轴坐标顺序连接起来的图像.
折线图的主要功能是查看因变量y随着自变量x改变的趋势,最适合用于显示随时间而变化的连续数据.
可以看出数量的差异,增长趋势的变化.

折线图的代码实现

import matplotlib.pyplot as plt  # 导入画图包
import numpy as np

# mac使用  plt.rcParams["font.family"] = 'Arial Unicode MS'

plt.rcParams["font.sans-serif"] = "SimHei"  # 设置支持中文字体
# matplotlib本身支持负号显示的。增加了支持中文显示,负号不能正常显示
plt.rcParams['axes.unicode_minus'] = False


# x轴字体颜色
plt.rcParams['xtick.color'] = '#00FF00'
# y轴字体颜色
plt.rcParams['ytick.color'] = '#00FF00'

#背景颜色
plt.rcParams['axes.facecolor'] = '#FFFFCC'

#边框颜色
plt.rcParams['axes.edgecolor'] = '#CCCCFF'


#保存画布的颜色
plt.rcParams['savefig.edgecolor'] = '#663366'


# 一、创建画布
# figsize 画布大小 单位英寸;
# dpi每英寸的像素数,默认是100
# plt.figure(figsize=(6.4, 4.8), dpi=100)
# plt.figure(figsize=(8, 10), dpi=100)

# 二、画图
# 2.1准备数据
x_data = np.arange(1, 8)
print("x_data", x_data)
# 设置每天的温度
y_data = [30, 25, 26, 29, 32, 35, 40]  # 北京
y_data1 = [20, 23, 15, 17, 20, 24, 30]  # 上海

# 2.2 画图函数
# 折线图函数plt.plot()
# 设置对点 线 的样式
plt.plot(x_data, y_data,
         color='r',  # 线的颜色  r--red 红色
         linestyle=':',  # 线的风格  短虚线
         linewidth=1.2,  # 线的宽度
         marker='*',  # 点的样式  * 表示五角星
         markersize=10,  # 点的大小
         markerfacecolor='b',  # 点内部颜色
         markeredgecolor='r',  # 点边缘的颜色
         alpha=0.5,  # 透明度 值是【0,1】。0 表示透明; 1 表示凝实
         )

# 绘制第二条线
plt.plot(x_data, y_data1,
         color='#9999FF',  # 线的颜色
         linestyle='--',  # 线的风格  长虚线
         linewidth=1.2,  # 线的宽度
         marker='o',  # 点的样式  * 表示圆圈
         markersize=10,  # 点的大小
         markerfacecolor='#CCFFFF',  # 点内部颜色
         markeredgecolor='#FF99CC',  # 点边缘的颜色
         alpha=0.9,  # 透明度 值是【0,1】。0 表示透明; 1 表示凝实

         )

# 2.3 图像的修饰
# 增加标题
plt.title("the weather info(天气)")

# 增加x轴信息
plt.xlabel("日期")
# 增加y轴信息
plt.ylabel("温度")

# 修改x轴的刻度
# ticks: 设置刻度---只能数字
# labels:对刻度的显示信息  起别名
# 如果设置labels, ticks必须存在

plt.xticks(x_data, ["周一", "周二", "周三", "周四", "周五", "周六", "周日"])
# plt.xticks(["周一", "周二","周三","周四","周五","周六","周日"])  # 错误,不能只传labels

# plt.xticks([1, 3, 5, 7])  # 只使用ticks

# 修改y轴的刻度
plt.yticks(np.arange(0, 50, 5))

# 增加标注信息
# 参数1 x坐标,参数2 y坐标;
# 参数3:该坐标点上的显示信息,可以是字符串 也可以数字
# plt.text(1,30+1,30)
# plt.text(1,30+1,"30℃")
for x, y in zip(x_data, y_data):
    plt.text(x, y + 1, "%d℃" % y,
             horizontalalignment='center',  # 水平居中
             verticalalignment='center',  # 垂直居中
             )

for x, y in zip(x_data, y_data1):
    plt.text(x, y - 1.5, "%d℃" % y,
             horizontalalignment='center',  # 水平居中
             verticalalignment='center',  # 垂直居中
             )

# 增加图例
# 输入 字符串的列表
# plt.legend( ["北京","上海"],loc=4)  # loc 设置图例的位置。默认自动选择
plt.legend(["北京", "上海"], loc='lower right')  # loc 设置图例的位置。默认自动选择

# 三、显示和保存图---------先保存再显示
# 显示图
plt.savefig("天气信息—折线图.png")  # 任何图像后缀都可以

plt.show()


"""
如果画布没有子图,or 不设置画布的尺寸; 可以不创建画图
"""

折线图的相关设置参数

x轴与y轴数据,color,linestyle,marker,alpha

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

matplotlib 中文和负号设置

在这里插入图片描述
在这里插入图片描述

# mac使用  plt.rcParams["font.family"] = 'Arial Unicode MS'


plt.rcParams["font.sans-serif"] = "SimHei"  # 设置支持中文字体
# matplotlib本身支持负号显示的。增加了支持中文显示,负号不能正常显示
plt.rcParams['axes.unicode_minus'] = False

画布颜色 与 x轴 y轴字体颜色设置

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐