python数据可视化之matplotlib实践 基础篇(1)

目录

前言

准备阶段

下载软件以及相应的库

调用包与测试

绘制matplotlib图表组成元素的函数用法

1、折线图 plot()函数

2、散点图 scatter()函数

3、坐标轴相关函数

①设置x/y轴数值的显示范围

②设置x/y轴的文本

③设置坐标轴的网格线

4、参考线、参考域函数

①绘制平行于x/y轴的水平/垂直参考线

②绘制垂直于x/轴的参考区域

5、图形指向性注释文本

6、标题与标签


前言

python是一门非常智能的语言,它里面的matplotlib库,是绘制二维、三维图表的重要可视化工具。这使得我们可以用简单的绘图语句实现精细的绘图效果。接下来就让我们带着好奇心走进matplotlib的数据可视化的世界吧!

准备阶段

下载软件以及相应的库

安装编程软件:pycharm(自行下载,略)

下载matplotlib库:

①选择左上角的File,在File下找到setting选项

 ②找到project下的python interpreter,并选择选择对应的解释器后,点击"+"号

 ③下载matplotlib库,以及numpy包

 出现package“xxxx”installed successfully,即表示下载成功。

当然了也可以通过在终端下下载,不过上述方法更为方便,小编这里就不去展示在终端terminal下载的方式啦。

调用包与测试

我们导入第三方包numpy,是因为matplotlib库是建立在numpy的基础之上的

试着跑一下下述代码,看看能不能跑的通

import numpy as np
import matplotlib.pyplot as plt


x=np.linspace(0,2*np.pi,15)
y=np.sin(x)
plt.scatter(x,y)
plt.show()

若成功运行出,结果大概是这个样子:

 当然了,整体呈现出一个周期的正弦函数,点的位置是随意的,一共有15个点。

那么接下来,我们要正式开展matplotlib的学习啦!

绘制matplotlib图表组成元素的函数用法

1、折线图 plot()函数

调用方式:

plt.plot(x,y,ls="-",lw=2,label="plot figure",c="r",marker="o")

各个参数说明:

x:x轴上的数值

y:y轴上的数值

ls:折线图的线条风格

lw:折线图线条宽度

label:标记图形内容的标签文本;要配合plt.legend()使用

c:设置颜色

marker:设置点的样式

实践:已知周同学近三个月的周考成绩如下图, 请用python的matplotlib库绘制出每周与周考成绩对应的折线图,要求折线宽为2,风格为虚线(“:”),标签label为“Trend of weekly test results”

 先别急着看答案,自己动手敲一敲再来看小编写的

先来放最终的结果:

其代码为:

import numpy as np
import matplotlib.pyplot as plt


x=np.array([1,2,3,4,5,6,7,8,9,10,11,12])
y=np.array([117,110,105,121,130,108,99,107,119,123,131,140])
plt.plot(x,y,ls=":",lw=2,label="Trend of weekly test results")
plt.legend()
plt.show()

2、散点图 scatter()函数

调用方式:

plt.scatter(x,y,label="plot figure",c="b",marker="o")

各个参数说明:

x:x轴上的数值

y:y轴上的数值

label:标记图形内容的标签文本

c:设置颜色

marker:设置点的样式

在“ 调用包与测试 ”那里就是散点图呈现的结果,就不做其他实践啦

3、坐标轴相关函数

①设置x/y轴数值的显示范围

调用方式:

plt.xlim(xmin,xmax)

各个参数说明:

xmin:x轴上的最小值

xmax:x轴上的最大值

同理,对y轴设置范围有着异曲同工之妙

 调用方式:

plt.ylim(ymin,ymax)

各个参数说明:

ymin:y轴上的最小值

ymax:y轴上的最大值

②设置x/y轴的文本

 调用方式:

plt.xlabel(string)

各个参数说明:

string:x轴上的文本内容

对y轴同理,

 调用方式:

plt.ylabel(string)

各个参数说明:

string:y轴上的文本内容

③设置坐标轴的网格线

调用方式:

plt.grid(linestyle=":",color="r")

各个参数说明:

linestyle:网格线线条风格

color:网格线线条颜色

4、参考线、参考域函数

①绘制平行于x/y轴的水平/垂直参考线

调用方式:

plt.axhline(y=0.0,lw=2,ls="--",c="r")

各个参数说明:

y:水平参考线出发点

ls:参考线线线条风格

lw:参考线线条宽度

c:参考线线条颜色

对垂直参考线

调用方式:

plt.axvline(x=0.0,lw=2,ls="--",c="r")

各个参数说明:

x:垂直参考线出发点

ls:参考线线线条风格

lw:参考线线条宽度

c:参考线线条颜色

②绘制垂直于x/轴的参考区域

调用方式:

plt.axvspan(xmin=1.0,xmax=2.0,facecolor="y",alpha=0.3)

各个参数说明:

xmin:参考区域的起始位置

xmax:参考区域的终止位置

facecolor:参考区域的填充颜色

alpha:颜色透明度

同理,对于垂直y轴的参考区域

调用方式:

plt.axhspan(ymin=1.0,ymax=2.0,facecolor="b",alpha=0.3)

各个参数说明:

ymin:参考区域的起始位置

ymax:参考区域的终止位置

facecolor:参考区域的填充颜色

alpha:颜色透明度

实践:伍老师是一名初中班主任,她所在的班级有以下男同学,已知男初中生的身高在167到172是正常水平,体重在53到59千克是合格水平。请建立身高与体重的散点关系图,并且用绘制参考区域的方式,数一数正常身高体重的人有几个。

 先自己敲代码!敲完了再看小编写的代码。

结果应该是这样:

仅有一个身高体重都在标准范围内!所以小编在这里鼓励大家多运动减减肥,长高高。

import numpy as np
import matplotlib.pyplot as plt


height=np.array([169,177,175,165,171,159])
weight=np.array([57,75,70,53,60,52])
plt.scatter(height,weight,ls=":",lw=2)#风格啥的自己调整
plt.axvspan(xmin=167,xmax=172,facecolor="y",alpha=0.3)
plt.axhspan(ymin=53,ymax=59,facecolor="y",alpha=0.3)
plt.show()

5、图形指向性注释文本

调用方式:

plt.annotate(string,xy=(0,0),xytext=(0.2,0.2),weight="bold",color="y",arrorprops=dict(arrorstyle="->",connectionstyle="arc3,color="b"))

各个参数说明:

string:图形内容注释文本

xy:被指向那一点的坐标

xytext:注释的坐标

weight:注释文本的字体粗细风格

color:注释文本的字体颜色

arrowprops:箭头的属性(是一个字典属性哦)

实践:在上一节的实践中,指出合格的点,并注释一个“excellent”

 结果如图:

小编写的代码为:

import numpy as np
import matplotlib.pyplot as plt


height=np.array([169,177,175,165,171,159])
weight=np.array([57,75,70,53,60,52])
plt.scatter(height,weight,ls=":",lw=2)

plt.annotate("excellent",xy=(169,57),xytext=(167,55),weight="bold",color="r",arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="b"))
plt.show()

6、标题与标签

调用方式:

plt.title(string)

各个参数说明:

string:图形内容的标题文本

标题在图片的最上方!!

好啦,本期的matplotlib库的教学就到这里啦,如果您觉得小编的文章对您有帮助,那就请您动动小手,三连后再走呗!

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机鬼才~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值