栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

matplotlib折线图的绘制

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

matplotlib折线图的绘制

#1.绘制折线图

import matplotlib.pyplot as plt
import numpy as np
#1.绘制折线图
#设置中文字体
plt.rcParams['font.sans-serif']=['Simhei']
# 显示符号
plt.rcParams['axes.unicode_minus']=False

#创建画布 figsize:画布大小(英寸)
plt.figure(figsize=(15,10),dpi=80)
#取点(用等差数列取点)
x=np.linspace(-5,5,100)
y=x**2

#指定x轴和y轴的范围
plt.xlim(-5,5)
plt.ylim(0,10)

#设置x轴和y轴的刻度
plt.xticks([-2,-4,0,2,4])
plt.yticks([0,5,10])

#设置x和y轴名称
plt.xlabel('x轴')
plt.ylabel('y轴')

#添加图形的标题
plt.title('一元二次函数')

#添加网格线
plt.grid()

#linewidth为线宽  linestyle为线样式   marker为线上点的形状   markersize线上点的大小
plt.plot(x,y,c='red',linestyle='-',linewidth=4,marker='*',markersize=10,label='y=x**2')
plt.legend(loc='upper right')#把标签y=x**2放到右上方
plt.savefig('a.jpg'
plt.show()


2.绘制多个图

#画出y=sinx 和y=cosx的图像
import matplotlib.pyplot as plt
import numpy as np
#创建画布
plt.figure(figsize=(15,10),dpi=80)
#取x点(-π,π)
x=np.linspace(-np.pi,np.pi,100)
#取y点
y1,y2=np.sin(x),np.cos(x)


plt.xlim(-np.pi-1,np.pi+1)
plt.ylim(-1.2,1.2)

plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi])
plt.yticks(np.linspace(-1,1,5))

plt.plot(x,y1,label='y=sin(x)')
plt.plot(x,y2,label='y=cos(x)')
plt.legend(loc='upper right')
plt.savefig('sin(x)和cos(x)')
plt.show()


3.绘制子图

import matplotlib.pyplot as plt
import numpy as np
import sympy as sp

def set_axis():
    # #设置坐标轴
    ax = plt.gca()
    # #去掉顶部和右边的坐标线
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    # #将下面的轴线移到x=0位置
    ax.xaxis.set_ticks_position('bottom')
    ax.spines['bottom'].set_position(('data', 0))
    # #将下面的轴线移到y=0位置
    ax.yaxis.set_ticks_position('left')
  	ax.spines['left'].set_position(('data', 0))

#调整上下两个图高度和宽度
plt.subplots_adjust(hspace=0.8,wspace=0.5)


#创建子图(第1个图)
plt.subplot(3,3,1)#图像3行3列,在第一个位置画图
x1=np.linspace(-5,5,100)
y1=5+0*x1
plt.xlim(-2,6)
plt.ylim(-2,6)
plt.xticks(np.linspace(-5,5,6))
plt.yticks(np.linspace(-2,6,5))
set_axis()
plt.title('y=5')
plt.plot(x1,y1)

#创建子图(第2个图)
plt.subplot(3,3,2)
x2=np.linspace(-5,5,100)
y2=x2
plt.title('y=x')
set_axis()
plt.plot(x2,y2)

#创建子图(第3个图)
plt.subplot(3,3,3)
x3=np.linspace(-2*np.pi,2*np.pi,100)
y3=np.sin(x3)
plt.title('y=sin(x)')
set_axis()
plt.plot(x3,y3)

#创建子图(第4个图)
plt.subplot(3,3,4)
x4=np.linspace(-5,5,100)
y4=x4**2
plt.title(f'$y=x^{2}$')
set_axis()
plt.plot(x4,y4)

#创建子图(第5个图)
plt.subplot(3,3,5)
x5=np.linspace(-5,5,100)
y5=x5**3
plt.title(f'$y=x^{3}$')
set_axis()
plt.plot(x5,y5)


#创建子图(第6个图)
plt.subplot(3,3,6)
x6=np.linspace(-2*np.pi,2*np.pi,40)
y6=np.cos(x6)
plt.title('y=cos(x)')
set_axis()
plt.scatter(x6,y6,c='red')

#创建子图(第7个图)
plt.subplot(3,3,7)
x7=np.linspace(-5,1,100)
y7=np.exp(x7)
plt.xlim(-5,2)
plt.ylim(-1.5,3)
plt.xticks([-4,-3,-2,-1,0,1])
plt.yticks(np.linspace(-1,2,4))
plt.title('$y=e^{x}$')
#坐标轴为(0,0)
set_axis()#调用函数
plt.plot(x7,y7)

#创建子图(第8个图)
plt.subplot(3,3,8)
x8=np.linspace(0.5,5,100)
y8=np.log(x8)
plt.xlim(-1,6)
plt.ylim(-1,2.5)
plt.xticks([1,2,3,4,5])
plt.yticks([0,1,2])
plt.title('y=loge(x)')
set_axis()
plt.plot(x8,y8)

#创建子图(第9个图)
plt.subplot(3,3,9)
x9=np.linspace(0,5,100)
y9=x9**0.5
plt.title('$y=sqrt{x}$')
set_axis()
plt.plot(x9,y9)
plt.show()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291009.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号