Python_matplotlib库的使用(画函数图像、扇形图)

画函数图像

先来看几个栗子:

绘制y=2sinx+cosx的曲线,横坐标为[-3pi,3pi],曲线为红色

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3*np.pi,3*np.pi,256,endpoint=80) #图像横坐标范围
y=np.sin(x)*2+np.cos(x)
plt.xlim(-3*np.pi,3*np.pi) #坐标轴横坐标取值范围

plt.plot(x,y,color='red',linewidth=5,linestyle='-') #根据x y 数组绘制直线曲线
plt.show()

在这里插入图片描述
一个图里两个图像的:

import numpy as np
import matplotlib.pyplot as plt
import math

x=np.linspace(-np.pi,np.pi,256,endpoint=80)
y1=np.cos(2*np.pi*x)
y2=1/(math.e**x)*np.cos(2*np.pi*x)

plt.plot(x,y1,label="y1=cos(2*pi*x)")
plt.plot(x,y2,label='(1/e**x)*cos(2*pi*x)')
plt.legend(loc=1)
plt.xlabel('x')
plt.ylabel('y')

plt.show()

在这里插入图片描述

扇形图

#-*- coding: utf-8 -*-
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #解决中文乱码

plt.figure(figsize=(6,9)) #调节图形大小
labels = [u'Dogs',u'Hogs',u'Frogs',u'Logs'] #定义标签
sizes = [45, 30, 15, 10] #每块值
colors = ['green', 'yellow', 'blue', 'red'] #每块颜色定义
explode = (0,0,0,0) #将某一块分割出来,值越大分割出的间隙越大
patches,text1,text2 = plt.pie(sizes,
                      explode=explode,
                      labels=labels,
                      colors=colors,
                      autopct = '%3.2f%%', #数值保留固定小数位
                      shadow = False, #无阴影设置
                      startangle =90, #逆时针起始角度设置
                      pctdistance = 0.6) #数值距圆心半径倍数距离
#patches饼图的返回值,texts1饼图外label的文本,texts2饼图内部的文本
# x,y轴刻度设置一致,保证饼图为圆形
plt.axis('equal')
plt.legend() # 右上角显示
plt.show()

在这里插入图片描述
有阴影

shadow = True, #有阴影设置

plt.figure(figsize=(6,9)) #调节图形大小
plt.figure(figsize=(6,9)) #调节图形大小
labels = [u'Dogs',u'Hogs',u'Frogs',u'Logs'] #定义标签
sizes = [45, 30, 15, 10] #每块值
colors = ['green', 'yellow', 'blue', 'red'] #每块颜色定义
patches,text1,text2 = plt.pie(sizes,
                      explode=explode,
                      labels=labels,
                      colors=colors,
                      autopct = '%3.2f%%', #数值保留固定小数位
                      shadow = True, #有阴影设置
                      startangle =90, #逆时针起始角度设置
                      pctdistance = 0.6) #数值距圆心半径倍数的距离
#patches饼图的返回值,texts1饼图外label的文本,texts2饼图内部的文本
# x,y轴刻度设置一致,保证饼图为圆形
plt.axis('equal')
plt.show()

在这里插入图片描述
分隔开

explode=(0, 0.07, 0, 0)

plt.figure(figsize=(6,9)) #调节图形大小
labels = [u'Frogs', u'Hogs', u'Dogs', u'Logs'] #定义标签
sizes = [15, 30, 45, 10] #每块值
colors = ['blue', 'orange', 'green', 'red'] #每块颜色定义
explode=(0, 0.07, 0, 0) 
patches,text1,text2 = plt.pie(sizes,
                      explode=explode,
                      labels=labels,
                      colors=colors,
                      labeldistance = 1.2,#图例距圆心半径倍距离  
                      autopct = '%3.2f%%', #数值保留固定小数位
                      shadow = False, #无阴影
                      startangle =90, #逆时针起始角度设置
                      pctdistance = 0.6) #数值距圆心半径倍数距离
#patches饼图的返回值,texts1饼图外label的文本,texts2饼图内部文本
# x,y轴刻度设置一致,保证饼图为圆形
plt.axis('equal')
plt.show()

在这里插入图片描述

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值