python代码基础知识总结(四)(matplotlib库简单总结)

python代码基础知识总结(四)(matplotlib库简单总结)

一、理论分析

搞过数学建模的都一定知道matlib,它的译文是矩阵实验室,主要功能就是具有强大的作图能力。那么python将这一个功能引入,就成为了matplotlib包。他是用于创建出版质量图表的绘图工具库,目的是为python创建一个Matlab式的绘图接口

二、代码实现

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

上面算是最常用的三个导入python包的方法了,其中这次要说的码头plotlib里的pyplot模块包含了常用的matplotlib API函数
我个人感觉这个模块最简单了,就是画图,核心给的是横坐标和纵坐标,就像我们自己做图一样,描点,连线。有x轴和y轴。我们话不多说,直接上代码。

import matplotlib.pyplot as plt
x = range(10) #x轴
y = [i*i for i in x] #y轴
plt.plot(x,y,'r--') #直线图,红色red,虚线--
plt.show() #展示

展示结果如图所示:
在这里插入图片描述
可以看到,真的很简单,但是我们可能对图像有更多的要求,比如我想要他有标题,x轴和y轴要有含义,去掉右边和上面的黑框等等,还有一次展示不同的图像,一个图像有多个曲线,加上曲线注释等等。我们下面会一一讲解这些内容。

1.1 一图显示多图

import matplotlib.pyplot as plt
import numpy as  np
x = np.linspace(0,10,100) #x轴
y1 = np.sin(x) #sinx
y2 = np.cos(x) #cosx
plt.plot(x,y1,label='y = sin(x)') #画图,添加sin坐标
plt.plot(x,y2,label='y = cos(x)') #画图,添加cos坐标
plt.xlabel('x') #x轴注释
plt.ylabel('y') #y轴注释
plt.axis([0,10,-1,1]) #x轴,y轴展示
plt.legend(loc=1) #坐标位置
plt.xticks([0,3.1416,6.2823,9.4248],['0','$\pi$','$2\pi$','$3\pi$']) #坐标点
plt.yticks([-1,0,1])
plt.show() #展示

在这里插入图片描述

plt.rcParams['font.sans-serif']=['SimHei'] #黑体
plt.rcParams['axes.unicode_minus']=False #负号

如果没加的话,可以看到
在这里插入图片描述
可以看到加入注释后,方框消失了,可以正常显示
在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #黑体文字
plt.rcParams['axes.unicode_minus']=False #负号
x=np.linspace(-5,5,100) 
y=np.sin(x)
plt.plot(x,y)
plt.annotate('Deep Learning',xy=(x[10],y[10]),xytext=(-3.25,0.75),
            arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=0.3')) #箭头标注

ax=plt.subplot(111)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))

plt.xticks([-4,-2,2,4],[-400000000000,-200000000000,200000000000,40000000000],
          rotation=60)
plt.yticks([-1,0,1])
plt.show()

运行结果
在这里插入图片描述

weight1=[30,20,40,15,10]
names=['apple','samsung','OPPO','VIVO','mi']
# offset=[0.2,0,0,0.1,0.3]
plt.pie(weight1,autopct='%.2f%%',labels=names,
        pctdistance=0.85,
        radius=1.8,
        textprops=dict(color='black'),
       wedgeprops=dict(width=0.5))
plt.show()
#pctdistance 数字在饼图中的占比,radius半径为1.8,textprops文字的颜色,wedgeprops 空心的比重

运行结果如图
在这里插入图片描述

1.2 多图显示

import matplotlib.pyplot as plt
x = range(10)
y = [i*i for i in x]
z = [i**3 for i in x]
fig = plt.figure(figsize=(12,8))
ax1 = fig.add_subplot(221)
ax1.set_title('plt y1')
plt.xlabel('x')
plt.ylabel('y')
ax1.plot(x,y,c='r')
ax2 = fig.add_subplot(222)
ax2.set_title('plt y2')
plt.xlabel('t')
plt.ylabel('y')
ax2.plot(x,z,c='b')
plt.show()

图像如图所示。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值