前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据可视化工具:Matplotlib学习笔记(一)

Python数据可视化工具:Matplotlib学习笔记(一)

作者头像
小雨coding
发布2021-03-27 21:35:52
1.4K0
发布2021-03-27 21:35:52
举报
文章被收录于专栏:小雨编程

大家好,我是小雨。 今天要跟大家分享的内容?是关于Python数据可视化方面的内容。Python在数据处理方面真的太厉害了,所以总结了部分笔记,分享给大家一起学习。

简介

matplotlib是什么?

matplotlib是用python开发的可视化和分析工具,是一款非常强大的python画图工具。具备优秀的跨平台交互式属性,能够生成出版质量级的图表。只需几行代码就可以生成:图表、直方图、功率图、条形图、散点图,如下图所示:

接下来,我们将正式开始学习matplotlib!

如何安装matplotlib

在无论Linux、Windows、MacOS都可以通过控制台终端,输入以下命令进行安装:

代码语言:javascript
复制
pip install matplotlib

当然,也可以在pycharm里通过包管理器一键安装。

基本用法

导入模块

使用import导入模块matplotlib.pyplot;并简写成plt; 为了方便获取和处理数据我们也导入numpy模块,并简写成np;

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np

定义函数

然后使用numpy创建两组数据,使用np.linespace定义x,范围是(-2,4),个数是50,系统会生成一组(-2,4)以内均匀分布的50个数,(x,y1)表示曲线1,(x,y2)表示曲线2。

代码语言:javascript
复制
x = np.linspace(-2,4,50)
y1 = 3*x + 2
y2 = x ** 2

定义窗口并画图

在画图前使用plt.figure()定义一个图像窗口,使用figsize参数可以设置弹出图像的像素大小,当我们设置figsize=(8,5)时,则表明绘制的图像大小为:800*500像素。使用plt.plot()来绘制曲线,可以直接将表示x轴y轴的列表传进去。也可以添加一些额外的参数。

参数名

用途

备注

color

设置曲线颜色

'red'红色、'green'绿色

linewidth

设置曲线宽度

可以设置数值1.0、1.5等

linestyle

设置曲线类型

'-'实线、'--'虚线、'-.'i型线

代码语言:javascript
复制
plt.figure(figsize=(8,5))
plt.plot(x, y1, color='red', linestyle='-', linewidth=1.5)
plt.plot(x, y2, color='blue', linestyle='-.', linewidth=2.0)
plt.show()

设置坐标轴名称及范围

使用plt.xlim设置x轴范围:(-2,2);

使用plt.ylim设置y轴范围:(-5,5);

使用plt.xlabel设置x轴名称;

使用plt.ylabel设置y轴名称;

代码语言:javascript
复制
plt.xlim(-2, 2)
plt.ylim(-5, 5)
plt.xlabel("this is x")
plt.ylabel("this is y")

设置坐标轴中文名称

如果给坐标轴设置的名称有中文的话,直接通过plt.xlabel()设置的话会乱码,我们需要通过rc()方法指定中文的字体才可以。

代码语言:javascript
复制
import matplotlib
matplotlib.rc("font",family="KaiTi")

除了设置成楷体外,还可以设置的中文字体有:

代码语言:javascript
复制
DengXian
FangSong
LiSu
YouYuan
Adobe Fan Heiti Std
Adobe Fangsong Std
Adobe Heiti Std

此时再调用xlabel、ylabel设置x轴y轴的中文名称,会出现游标中的负号无法正常显示,此时再添加一个语句即可正常显示:

代码语言:javascript
复制
plt.rcParams['axes.unicode_minus'] = False

定义坐标轴刻度及名称

如果我们希望坐标轴的刻度不是一连串的数字而是一些文字,或者想要调整刻度的系数。这时就需要plt.xticks()来调整。我们x轴设置新刻度new_ticks,从-1到2,个数是5,我们就可以这样写。

代码语言:javascript
复制
new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks)

y轴的刻度[-5,-4,4,5]对应的名称为['很差','一般','还行','很好'],我们可以这样写:

代码语言:javascript
复制
plt.ytricks([-5,-4,4,5],['很差','一般','还行','很好'])

这样我们就实现了对x轴调整稀疏程度,对y轴调整指定范围指定名称。

调整边框

我们发现以上的图像都有四条实线边框,我们如果想隐藏某个边框或者设置指定颜色改怎么做呢?plt.gca()获取边框对象,使用.spines设置指定边框,使用set_color方法指定边框线条的颜色,如果想隐藏边框则使用none参数。

代码语言:javascript
复制
ax = plt.gca()  # 获取坐标轴对象
ax.spines['top'].set_color('none')  # 隐藏上边框
ax.spines['right'].set_color('none')  # 隐藏右边框

如果想x轴与y轴交界的位置:

代码语言:javascript
复制
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

总结

今天所讲的全部代码如下,小伙伴们可以对照着自己再过一遍;

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np
import matplotlib

matplotlib.rc("font", family="KaiTi")

x = np.linspace(-2, 4, 50)

y1 = 3*x + 2
y2 = x**2

plt.figure(num=3, figsize=(8, 5))
plt.plot(x, y1, color='red', linestyle='-', linewidth=1.5)
plt.plot(x, y2, color='blue', linestyle='-.', linewidth=2.0)
plt.xlim(-2, 2)
plt.ylim(-5, 5)
# plt.xlabel("这是x轴")
# plt.ylabel("这是y轴")
plt.rcParams['axes.unicode_minus'] = False
new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)
plt.yticks([-5,-4,4,5],['很差','一般','还行','很好'])
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
plt.show()

知识点自测:

  • 导入模块并重命名import matplotlib.pyplot as plt
  • 定义图像窗口 plt.figure()
  • 绘图 plt.plot(x,y)
  • 定义坐标轴范围 plt.xlim()
  • 定义坐标轴刻度及名称plt.xticks()
  • 定义图像边框 ax=plt.gca() ax.spines[].set_color()
  • 设置刻度位置 ax.xaxis.set_ticks_position()
  • 设置坐标轴位置 ax.spines[].set_position()

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小雨编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • matplotlib是什么?
      • 如何安装matplotlib
      • 基本用法
        • 导入模块
          • 定义函数
            • 定义窗口并画图
              • 设置坐标轴名称及范围
                • 设置坐标轴中文名称
                  • 定义坐标轴刻度及名称
                    • 调整边框
                      • 知识点自测:
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档