当前位置:   article > 正文

python3 数据可视化Matplotlib库详解_python3 matplotlib

python3 matplotlib

1.搭建Matplotlib环境

1.1.使用pip下载Matplotlib

Matplotlib可以使用pip下载:

pip install matplotlib
  • 1

下载过慢可以使用国内镜像:

pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

还可以使用:

python -m pip install matplotlib
  • 1

如果第三种下载方式报错,说明你还没有将python设为环境变量,可以使用第1、2种方法替代。

1.2.使用easy_install下载Matplotlib
easy_install matplotlib
  • 1

1.3.在网站上下载Matplotlib

上述两种方法都比较简单,但是如果在使用过程中,可能会不支持python的部分版本,这时我们可以去 PyPi 下载,点入链接后会看到matplotlib·PyPi页面:
注意 :以上连接如无法打开,请在浏览器里输入网址https://pypi.org/project/matplotlib

点击左下角的 Download files 会看到右侧有一些版本号:

在这里面找到你需要的版本。


下载完成后打开cmd,输入:

python -m pip install --user 版本号
  • 1

上述的版本号是你在下载Matplotlib的时候的版本号,比如说我下的是“matplotlib-3.2.2-cp39-cp39-win_amd64.whl”,那么我就需要输入:

python -m pip install --user matplotlib-3.2.2-cp39-cp39-win_amd64.whl
  • 1



2.绘制两个点

我们可以使用scatter()函数来绘制两个点,它的参数是点坐标的位置(x和y),传入的是一个列表。

代码部分

import matplotlib.pyplot as plt # 引入模块,并缩写为plt

x1 = [1, 2] # 设置第一个点的坐标,x坐标是2,y坐标是1
y2 = [2, 4] # 设置第二个点的坐标,x坐标是1,y坐标是2
plt.scatter(x1, y2) # 绘制散点图

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

运行结果




3.绘制折线图

通过plot()函数绘制折线图,参数是折线图每一个点所在的y坐标

3.1.普通折线图

代码部分

import matplotlib.pyplot as plt # 引入模块,并缩写为plt

plt.plot([8, 7, 9 ,3, 5, 3, 7, 9]) # 绘制折线图

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5

运行结果


3.2.调整线条粗细

通过plot()的linewidth参数来调整线条粗细:
代码部分

import matplotlib.pyplot as plt # 引入模块,并缩写为plt

plt.plot([8, 7, 9 ,3, 5, 3, 7, 9], linewidth = 10) # 绘制折线图

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5

运行结果




4.在图中添加注释

title()函数添加标题,xlabel()函数,ylabel()函数。以上三个函数中fontsize参数可以调整字体
代码部分

import matplotlib.pyplot as plt # 引入模块,并缩写为plt


plt.plot([50, 70, 90 ,80, 55, 39, 79, 90], linewidth = 10) # 绘制折线图
plt.title("title", fontsize = 25)
plt.xlabel("y", fontsize = 15)
plt.ylabel("x", fontsize = 15)

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

运行结果

注意:如果需要显示中文字体,需要加上

plt.rcParams['font.sans-serif']=['SimHei'] #这里使用的是雅黑字体
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
  • 1
  • 2

运行结果




5.修改表的坐标

可以在plot函数线条坐标的前面传入一个列表,代表x坐标的值:
代码部分

import matplotlib.pyplot as plt # 引入模块,并缩写为plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.plot(["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"] ,
         [50, 70, 90 ,80, 55, 39, 79, 90], linewidth = 10) # 绘制折线图
plt.title("销量", fontsize = 25)
plt.xlabel("月份", fontsize = 15)
plt.ylabel("销量/箱", fontsize = 15)

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

运行结果




6.绘制两条线条

代码部分

import matplotlib.pyplot as plt # 引入模块,并缩写为plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.plot(["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"] ,
         [50, 70, 90 ,80, 55, 39, 79, 90],
         ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"],
         [40, 80, 60, 80, 70, 20, 90, 50],
         linewidth = 10,) # 绘制折线图
plt.title("销量", fontsize = 25)
plt.xlabel("月份", fontsize = 15)
plt.ylabel("销量/箱", fontsize = 15)

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

运行结果




7.线条、颜色和标记

7.1.常用的颜色

如果需要设置颜色,可以在plot函数里面设置,常用的颜色有:

颜色字符颜色说明
b蓝色
c青色
k黑色
r红色
y黄色
g绿色

实例

import matplotlib.pyplot as plt # 引入模块,并缩写为plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.plot(["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"] ,
         [50, 70, 90 ,80, 55, 39, 79, 90],"b",
         ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"],
         [40, 80, 60, 80, 70, 20, 90, 50],"g",
         linewidth = 10,) # 绘制折线图
plt.title("销量", fontsize = 25)
plt.xlabel("月份", fontsize = 15)
plt.ylabel("销量/箱", fontsize = 15)

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

运行结果

7.2.常用的线条

注意:此处是和颜色写在一个字符串内,写在颜色后面

字符说明
-直线
虚线(两个-)
-.虚点线
:点线

实例

import matplotlib.pyplot as plt # 引入模块,并缩写为plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.plot(["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"] ,
         [50, 70, 90 ,80, 55, 39, 79, 90],"b-.",
         ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"],
         [40, 80, 60, 80, 70, 20, 90, 50],"g--",
         linewidth = 10,) # 绘制折线图
plt.title("销量", fontsize = 25)
plt.xlabel("月份", fontsize = 15)
plt.ylabel("销量/箱", fontsize = 15)

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

运行结果

7.3.标记

注意:标记是写在线条后面

符号说明
.点标记
o圆标记
s方形标记
p五角星标记
+加号标记
-减号标记

实例

import matplotlib.pyplot as plt # 引入模块,并缩写为plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.plot(["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"] ,
         [50, 70, 90 ,70, 55, 39, 79, 90],"-s",
         ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"],
         [40, 80, 60, 80, 70, 20, 90, 50],"-o",
         linewidth = 3,) # 绘制折线图
plt.title("销量", fontsize = 25)
plt.xlabel("月份", fontsize = 15)
plt.ylabel("销量/箱", fontsize = 15)

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

运行结果




8.图例

虽然前面建立的列表已经很好了,但是缺乏每一根线条的意义所以我们需要创建图例:
代码部分

import matplotlib.pyplot as plt # 引入模块,并缩写为plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

line1 = plt.plot(["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"] ,
         [50, 90, 90 ,70, 55, 39, 79, 90],"-s", label = "1号超市") # 绘制折线图
line2 = plt.plot(["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月"],
         [40, 80, 60, 80, 70, 20, 90, 50],"-o", label = "2号超市")
plt.title("销量", fontsize = 25)
plt.xlabel("月份", fontsize = 15)
plt.ylabel("销量/箱", fontsize = 15)
plt.legend(loc = "best")

plt.show() # 显示绘图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

执行结果

其中它的loc参数是指图例的位置,best是图中最好的位置,也就是没有值的位置,loc参数的可选值如下:

可选值说明
best最好的位置
upper right右上角
upper left左上角
lower left左下角
lower right右下角
center left左侧
center right右侧
lower center下面
upper center上面
center画面正中间
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/167091
推荐阅读
相关标签
  

闽ICP备14008679号