matplotlib-01-绘制折线图

matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建

基本演示

from matplotlib import pyplot as plt

# 设置图片大小
# figsize 是图片大小、dpi是清晰程度
fig = plt.figure(figsize=(20, 8), dpi=80)

x = range(0, 24, 2)
y = [0, 3, 2, 3, 1, 2, 3, 4, 4, 3, 2, 1]

# 绘图
plt.plot(x, y)

# 设置x轴的刻度
xx = [x/2 for x in range(0, 45)]
plt.xticks(xx)
# 设置y轴刻度
plt.yticks(range(min(y), max(y)+1))

# 保存
plt.savefig("./m1.png")
# plt.savefig("./m2.svg")
# 展示
plt.show()

下载

添加更详细信息

from matplotlib import pyplot as plt
import random

# 设置中文

# 1. windows和Linux设置方式
# import matplotlib
# font = {'family': 'MicroSoft Yahei',
#         'weight': 'bold',
#         'size': '10'}
# matplotlib.rc("font", **font)

# 2. windows和Linux和mac设置方式
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\simsun.ttc")


x = range(0, 120)
y = [random.randint(20, 25) for i in range(120)]

plt.figure(figsize=(100, 20), dpi=80)

# 调整 x 轴的刻度
_x = list(x)
xtick = ["10点{}分".format(i) for i in range(60)]
xtick += ["11点{}分".format(i) for i in range(60)]
# print(xtick)

plt.xticks(_x[::3], xtick[::3], rotation=45, fontproperties=my_font)  # rotation:旋转的度数

# 添加描述信息
plt.xlabel("时间", fontproperties=my_font)
plt.ylabel("温度", fontproperties=my_font)
plt.title("温度——时间变化图", fontproperties=my_font)

plt.plot(x, y)
plt.show()

下载 (1)

让x轴显示字符串

# 调整 x 轴的刻度
_x = list(x)
xtick = ["10点{}分".format(i) for i in range(60)]
xtick += ["11点{}分".format(i) for i in range(60)]
# print(xtick)

plt.xticks(_x[::3], xtick[::3], rotation=45, fontproperties=my_font)  # rotation:旋转的度数

如何修改matplotlib的默认字体?

  1. 通过matplotlib.rc可以修改,具体方法参见源码(windows/linux)
  2. 通过matplotlib 下的font_manager可以解决(windows/linux/mac)
    第二种方法要在需要的地方设置fontproperties=my_font,图例设置为prop=my_font
要改这两个地方
# 设置中文

# 1. windows和Linux设置方式
import matplotlib
font = {'family': 'MicroSoft Yahei',
        'weight': 'bold',
        'size': '10'}
matplotlib.rc('font', **font)


# 2. windows和Linux和mac设置方式
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\simsun.ttc")
plt.xticks(_x[::3], xtick[::3], rotation=45, fontproperties=my_font)  # rotation:旋转的度数

添加描述信息

# 添加描述信息
plt.xlabel("时间", fontproperties=my_font)
plt.ylabel("温度", fontproperties=my_font)
plt.title("温度——时间变化图", fontproperties=my_font)

绘制网格

# 绘制网格
# alpha:透明度
# linestyle:网格风格
plt.grid(alpha=0.6, linestyle="-.")

下载 (2)

同时画两个图

执行两次plt.plot()方法

plt.plot(x, y1, label="y1", color="r", linestyle="--", linewidth=5, alpha=0.6)
plt.plot(x, y2, label="y2", color="g", linestyle=":", linewidth=10, alpha=0.8)

如果想显示图例,需要添加 label,并添加

# 添加图例
# loc:图例位置
plt.legend(prop=my_font, loc="upper left")
from matplotlib import pyplot as plt

# 中文
import matplotlib
font = {'family': 'MicroSoft Yahei',
        'weight': 'bold',
        'size': '10'}
matplotlib.rc('font', **font)


x = list(range(11, 21))
y1 = [2, 3, 1, 2, 3, 4, 2, 1, 2, 3]
y2 = [1, 5, 3, 2, 5, 4, 2, 2, 4, 2]

# 图形大小
plt.figure(figsize=(20, 8), dpi=80)

# x轴刻度
_xticks = ["{}岁".format(i) for i in x]
plt.xticks(x, _xticks, rotation=45)


plt.plot(x, y1, label="y1", color="r", linestyle="--", linewidth=5)
plt.plot(x, y2, label="y2", color="g", linestyle=":", linewidth=10)

# 添加图例
plt.legend(loc="upper left")

plt.show()

下载 (3)

不同的图形特点

  1. 折线图:以折线的上升或下降来表示统计数量的增减变化的统计图
    特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)
  2. 直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。
    一般用横轴表示数据范围,纵轴表示分布情况。
    特点:绘制连续性的数据,展示一组或者多组数据的分布状况 (统计)
  3. 条形图:排列在工作表的列或行中的数据可以绘制到条形图中。
    特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。)(统计))
  4. 散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量
    之间是否存在某种关联或总结坐标点的分布模式。
    特点:判断变量之间是否存在数量关联趋势,展示离群点)(分布规律))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值