matplotlib折线图例题

matplotlib绘制折线图

通过下面的小例子我们来看一下matplotlib该如何简单的使用

假设一天中每隔两个小时(range(2,26,2))的气温(℃)分别是
[15,13,14.5,17,20,25,26,26,27,22,18,15]

运行结果

分析

1.matplotlib自动地帮助我们生成x轴和y轴上的刻度,这和我们在代码中指定的x轴和y轴的数据是不一样的

  • 我们指定的x轴和y轴数据
x=range(2,26,2)  # x轴数据,是一个可迭代对象
y=[15,13,14.5,17,20,25,26,26,27,22,18,15]  # y轴数据
  • 生成的图中x轴和y轴上的刻度

2.图有点小:642 X 559

3.这个图到底想要表示什么意思?

我们能看明白这个图是什么,但是别人能看明白么?
可能现在我们可以看明白这个图想要表示什么意思,但是时间一长,我们也可能会忘记,到时候,我们也不知道这个图到底想要表示什么意思。

目前存在的问题

1.设置图片大小(想要一个高清无码大图)
2.将图片保存在本地
3.为图添加一些描述信息,比如x轴和y轴表示什么,这个图表示什么
4.调整x或者y的刻度的间距
5.线条的属性(比如颜色,透明度等)
6.标记出特殊的点(比如告诉别人最高点和最低点在哪里)
7.给图片添加一个水印(防伪,防止盗用)

一步一步解决问题

设置图片大小(想要一个高清无码大图)

分析

代码

# -*- coding: utf-8 -*-

''' @Time : 2020/11/27 17:53 @Author : yuhui @Email : 3476237164@qq.com @FileName: matplotlib_2.py @Software: PyCharm '''

"""04【matplotlib】02matplotlib的基础绘图和调整x轴的刻度"""

from matplotlib import pyplot as plt

fig=plt.figure(  # 表示图形、图标的意思,在这里指的就是我们绘制的图
    # 这是一个全局的,只要我们在使用plt之前调用一下figure类,然后给它传递一些参数,做一些实例,那么后面所有的地方我们都可以使用这个figure
    figsize=(16,10),  # 图片大小 元组 (宽,高)
    dpi=80,  # https://baike.baidu.com/item/DPI/908073?fr=aladdin
    # 每英寸上点的个数 在图像模糊的时候可以传入dpi参数,让图片更加清晰
)

x=range(2,26,2)  # x轴数据,是一个可迭代对象
y=[15,13,14.5,17,20,25,26,26,27,22,18,15]  # y轴数据

plt.plot(x,y)  # 通过plot绘制出折线图
# plt.savefig("data/fig_size.svg")
plt.show()  # 展示图形


运行结果

图片大小:1282 x 879

将图片保存在本地

手动保存

再设置好文件保存的路径以及文件名和文件的类型就可以了

自动保存

分析

代码
# 在绘制之后保存
plt.savefig("../data/fig_size.svg")  # 参数:文件路径 文件完整的名字

运行结果

调整x轴刻度

分析

代码+结果

注意: 我们给xticks传递什么数据它才有什么数据,然后将这个数据显示在x轴上

我们想要x轴上显示什么数据,我们就给它传递什么数据;如果我们不想让它显示什么数据,我们就不传。

调整y轴刻度

代码+结果

本节总结+代码

  • 设置图片大小
fig=plt.figure(  # 表示图形、图标的意思,在这里指的就是我们绘制的图
    # 这是一个全局的,只要我们在使用plt之前调用一下figure类,然后给它传递一些参数,做一些实例,那么后面所有的地方我们都可以使用这个figure
    figsize=(16,10),  # 图片大小 元组 (宽,高)
    dpi=80,  # https://baike.baidu.com/item/DPI/908073?fr=aladdin
    # 每英寸上点的个数 在图像模糊的时候可以传入dpi参数,让图片更加清晰
)
  • 将图片保存在本地
# 在绘制之后保存
# plt.savefig("../data/fig_size.svg") # 参数:文件路径 文件完整的名字
  • 设置x轴刻度间距
plt.xticks(list)
  • 设置y轴刻度间距
plt.yticks(list)
# -*- coding: utf-8 -*-

''' @Time : 2020/11/27 17:53 @Author : yuhui @Email : 3476237164@qq.com @FileName: matplotlib_2.py @Software: PyCharm '''

"""04【matplotlib】02matplotlib的基础绘图和调整x轴的刻度"""

from matplotlib import pyplot as plt

fig=plt.figure(  # 表示图形、图标的意思,在这里指的就是我们绘制的图
    # 这是一个全局的,只要我们在使用plt之前调用一下figure类,然后给它传递一些参数,做一些实例,那么后面所有的地方我们都可以使用这个figure
    figsize=(16,10),  # 图片大小 元组 (宽,高)
    dpi=80,  # https://baike.baidu.com/item/DPI/908073?fr=aladdin
    # 每英寸上点的个数 在图像模糊的时候可以传入dpi参数,让图片更加清晰
)

x=range(2,26,2)  # x轴数据,是一个可迭代对象
y=[15,13,14.5,17,20,25,26,26,27,22,18,15]  # y轴数据

plt.plot(x,y)  # 通过plot绘制出折线图

# 设置x轴的刻度
# plt.xticks(x)

# 设置x轴刻度的间隔
# plt.xticks(range(2,26,1)) # 间隔为1 密集
# plt.xticks(range(2,26,10)) # 间隔为10 稀疏

# 设置间隔为0.5 自己传入一个列表
# plt.xticks([0.5*i for i in range(4,49)])
# 感觉有点太密集了 怎么变稀疏呢 取步长
plt.xticks([0.5*i for i in range(4,49)][::3])

# plt.xticks(range(25,50)) # 传递一个错误的刻度

# 调整y轴的刻度的间隔
# plt.yticks([15,13,14.5,17,20,25,26,26,27,22,18,15])

plt.yticks(range(min(y),max(y)+1))

# 在绘制之后保存
# plt.savefig("../data/fig_size.svg") # 参数:文件路径 文件完整的名字

plt.show()  # 展示图形


本文地址:https://blog.csdn.net/yuhui_2000/article/details/110238660