matplotlib折线图


折线图

1.最基本的折线图

1.用python实现

import numpy as np
import matplotlib.pyplot as plt
#前面的数据为x轴的坐标,后面的是y轴坐标
plt.plot([1,2,3,4,5],[1,2,3,4,5])
#在一个新窗口中显示折线图
plt.show()

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
#前面的数据为x轴的坐标,后面的是y轴坐标
plt.plot([1,2,3,4,5],[1,4,9,16,25])
plt.xlabel('xlabel',fontsize = 16)
plt.ylabel('ylabel',fontsize = 16)
#在一个新窗口中显示折线图
plt.show()

在这里插入图片描述

大家可以对比一下两个图与代码之间的区别

2.jupyter实现

import numpy as np
#pyplot是python中画图的一个接口
import matplotlib.pyplot as plt
#在notebook中画图,不需要调用plt.show去显示图形
%matplotlib inline
plt.plot([1,2,3,4,5],[1,2,3,4,5])

在这里插入图片描述

对数据的改变会影响图形以及坐标的改变,如果不规定坐标轴范围则会自动设置合适的范围

import numpy as np
#pyplot是python中画图的一个接口
import matplotlib.pyplot as plt
#在notebook中画图,不需要调用plt.show去显示图形
%matplotlib inline
plt.plot([1,2,3,4,5],[1,4,9,16,25])
#添加x轴上的解释,fontsize会进行字体大小的修改
plt.xlabel('xlabel',fontsize=16)
#添加y轴上的解释
plt.ylabel('ylabel',fontsize=16)

在这里插入图片描述

2.不同的线条

字符类型
‘-’实线
‘- -’虚线
‘.’
‘,’像素点
‘o’圆点
‘v’下三角点
‘^’上三角点
‘<’左三角点
‘>’右三角点
‘1’下三叉点
’2‘上三叉点
‘3’左三叉点
’4‘右三叉点
‘s’正方点
‘p’五角点
‘*’星形点
‘h’六边形点1
‘H’六边形点2
‘+’加号点
‘×’乘号点
’D‘实心菱形点
’d‘瘦菱形点
‘_’横线点

1.python实现

import numpy as np
import matplotlib.pyplot as plt
#前面的数据为x轴的坐标,后面的是y轴坐标
plt.plot([1,2,3,4,5],[1,4,9,16,25],'--')
plt.xlabel('xlabel',fontsize = 16)
plt.ylabel('ylabel',fontsize = 16)
#在一个新窗口中显示折线图
plt.show()

在这里插入图片描述
2.jupyter实现

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.plot([1,2,3,4,5],[1,4,9,16,25],':')
#添加x轴上的解释,fontsize会进行字体大小的修改
plt.xlabel('xlabel',fontsize=16)
#添加y轴上的解释
plt.ylabel('ylabel',fontsize=16)

在这里插入图片描述

3.线条色彩设置

字符颜色
’b‘蓝色,blue
‘g’绿色,green
‘r’红色,red
‘c’青色,cyan
’m’品红,magenta
‘y’黄色,yellow
’k’黑色,black
’w’白色,white

1.python实现

import numpy as np
import matplotlib.pyplot as plt
#前面的数据为x轴的坐标,后面的是y轴坐标
#1.直接用色彩+线条就可以表示
plt.plot([1,2,3,4,5],[1,4,9,16,25],'m--')
plt.xlabel('xlabel',fontsize = 16)
plt.ylabel('ylabel',fontsize = 16)
#在一个新窗口中显示折线图
plt.show()

在这里插入图片描述
2.jupyter实现

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#在color后面加参数
plt.plot([1,2,3,4,5],[1,4,9,16,25],'-.',color='r')
#添加x轴上的解释,fontsize会进行字体大小的修改
plt.xlabel('xlabel',fontsize=16)
#添加y轴上的解释
plt.ylabel('ylabel',fontsize=16)

在这里插入图片描述

4.一图多个线条

1.pycharm实现

import numpy as np
import matplotlib.pyplot as plt
hu_numpy=np.arange(0,10,0.5)
plt.plot(hu_numpy,hu_numpy,'r--',hu_numpy,hu_numpy**2,'bs',hu_numpy,hu_numpy**3,'go')
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
x=range(10)
y=range(10)
labels=['hu' for i in range(10)]
fig,ax=plt.subplots()
plt.plot(x,y)
plt.title('Anan')
#rotation为x轴上内容旋转的角度,horizontalalignment为按什么方式对齐
ax.set_xticklabels(labels,rotation=30,horizontalalignment='right')
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(10)
for i in range(1,4):
    plt.plot(x,i*x**2,label='Group %d'%i)
#加上线的属性指标,loc则使属性放在哪个位置
plt.legend(loc='best')
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure()
ax=plt.subplot(111)
x=np.arange(10)
for i in range(1,4):
    plt.plot(x,i*x**x,label='Group %d'%i)
#bbox_to_anchor为指标的位置,ncols为分几列去设置
ax.legend(loc='upper center',bbox_to_anchor=(0.5,1.15),ncol=3)
plt.show()

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
fig=plt.figure()
ax=plt.subplot(111)
x=np.arange(10)
for i in range(1,4):
    plt.plot(x,i*x**x,label='Group %d'%i)
#bbox_to_anchor为指标的位置,ncols为分几列去设置
ax.legend(loc='upper center',bbox_to_anchor=(1.15,1),ncol=1)
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(10)
for i in range(1,4):
    plt.plot(x,i*x**2,label='Group %d'%i,marker='o')
#加上线的属性指标,loc则使属性放在哪个位置,framealpha为透明度
plt.legend(loc='upper right',framealpha=0.1)
plt.show()

在这里插入图片描述

2.jupyter实现

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#类似于python中的内置函数range()
hu_numpy=np.arange(0,10,0.5)
plt.plot(hu_numpy,hu_numpy,'r--')
plt.plot(hu_numpy,hu_numpy**2,'bs')
plt.plot(hu_numpy,hu_numpy**3,'go')

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x=np.arange(10)
for i in range(1,4):
    plt.plot(x,i*x**2,label='Group %d'%i)
#加上线的属性指标,loc则使属性放在哪个位置
plt.legend(loc='best')

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
fig=plt.figure()
ax=plt.subplot(111)
x=np.arange(10)
for i in range(1,4):
    plt.plot(x,i*x**x,label='Group %d'%i)
#bbox_to_anchor为指标的位置,ncols为分几列去设置
ax.legend(loc='upper center',bbox_to_anchor=(0.5,1.15),ncol=3)

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
fig=plt.figure()
ax=plt.subplot(111)
x=np.arange(10)
for i in range(1,4):
    plt.plot(x,i*x**x,label='Group %d'%i)
#bbox_to_anchor为指标的位置,ncols为分几列去设置
ax.legend(loc='upper center',bbox_to_anchor=(1.15,1),ncol=1)

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x=np.arange(10)
for i in range(1,4):
    plt.plot(x,i*x**2,label='Group %d'%i,marker='o')
#加上线的属性指标,loc则使属性放在哪个位置,framealpha为透明度
plt.legend(loc='upper right',framealpha=0.1)

在这里插入图片描述

5.对线条进行加工处理

1.pycharm实现

第一种方式

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-10,10)
y=np.sin(x)
#marker设置标志点,markerfacecolor标志点的颜色,markersize标志点的大小
plt.plot(x,y,linewidth=3.0,color='b',linestyle=':',marker='o',markerfacecolor='r',markersize=10)
plt.show()

在这里插入图片描述
第二种方式:先画图再设置参数

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-10,10)
y=np.sin(x)
line=plt.plot(x,y)
#alpha为线条的透明度
plt.setp(line,color='r',linewidth=2.0,alpha=0.5)
plt.show()

在这里插入图片描述

2.jupyter实现

第一种方式

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x=np.linspace(-10,10)
y=np.sin(x)
#marker设置标志点,markerfacecolor标志点的颜色,markersize标志点的大小
plt.plot(x,y,linewidth=3.0,color='b',linestyle=':',marker='o',markerfacecolor='r',markersize=10)

在这里插入图片描述
第二种方式

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x=np.linspace(-10,10)
y=np.sin(x)
line=plt.plot(x,y)
#alpha为线条的透明度
plt.setp(line,color='r',linewidth=2.0,alpha=0.5)

在这里插入图片描述

6.子图

1.pycharm

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-10,10)
y=np.sin(x)
#subplot为子图
#211表示一会要画的图为1行2列的,最后一个1表示子图当中的第一个
plt.subplot(121)
plt.plot(x,y,color='r')
#212表示一会要画的图为1行2列的,最后一个2表示子图当中的第二个
plt.subplot(122)
plt.plot(x,y,color='b')
plt.show()

在这里插入图片描述
2.jupyter

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#subplot为子图
#211表示一会要画的图为两行一列的,最后一个1表示子图当中的第一个
plt.subplot(211)
plt.plot(x,y,color='r')
#212表示一会要画的图为两行一列的,最后一个2表示子图当中的第二个
plt.subplot(212)
plt.plot(x,y,color='b')

在这里插入图片描述

7.添加注释

1.pycharm

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-10,10)
y=np.sin(x)
plt.plot(x,y,linewidth=3.0,color='b',linestyle=':',marker='o',markerfacecolor='r',markersize=10)
plt.xlabel('x:---')
plt.ylabel('y:---')
#设置标题
plt.title('Anan:---')
#给图中的某个点加注释
plt.text(0,0,'Anan')
#给图中加上格子
plt.grid(True)
#此函数用于标注文字,xy为被注释的坐标点,xytext为注释文字的坐标位置,arrowprops为箭头参数,参数类型为字典dict,facecolor为箭头颜色,shrink为箭头大小值
plt.annotate('Anan',xy=(-5,0),xytext=(-2,0.3),arrowprops=dict(facecolor='black',shrink=0.05,headlength=20,headwidth=20))
plt.show()

在这里插入图片描述
2.jupyter

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x=np.linspace(-10,10)
y=np.sin(x)
plt.plot(x,y,linewidth=3.0,color='b',linestyle=':',marker='o',markerfacecolor='r',markersize=10)
plt.xlabel('x:---')
plt.ylabel('y:---')
#设置标题
plt.title('Anan:---')
#给图中的某个点加注释
plt.text(0,0,'Anan')
#给图中加上格子
plt.grid(True)
#此函数用于标注文字,xy为被注释的坐标点,xytext为注释文字的坐标位置,arrowprops为箭头参数,参数类型为字典dict,facecolor为箭头颜色,shrink为箭头大小值
plt.annotate('Anan',xy=(-5,0),xytext=(-2,0.3),arrowprops=dict(facecolor='black',shrink=0.05,headlength=20,headwidth=20))

在这里插入图片描述

8.风格设置

所有的风格样式
在这里插入图片描述

1.pycharm
原本样子

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-10,10)
y=np.sin(x)
plt.plot(x,y)
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-10,10)
y=np.sin(x)
plt.style.use('dark_background')
plt.plot(x,y)
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-10,10)
y=np.sin(x)
plt.style.use(['ggplot','bmh'])
plt.plot(x,y)
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-10,10)
y=np.sin(x)
plt.xkcd()
plt.plot(x,y)
plt.show()

在这里插入图片描述

2.jupyter

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
x=np.linspace(-10,10)
y=np.sin(x)
plt.plot(x,y)
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
x=np.linspace(-10,10)
y=np.sin(x)
plt.style.use('dark_background')
plt.plot(x,y)

在这里插入图片描述
在这里插入图片描述

不仅可以有一种风格效果,还可以两种或多种叠加

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
x=np.linspace(-10,10)
y=np.sin(x)
plt.style.use(['ggplot','bmh'])
plt.plot(x,y)

在这里插入图片描述

还有一种独特的样式

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
x=np.linspace(-10,10)
y=np.sin(x)
plt.xkcd()
plt.plot(x,y)

在这里插入图片描述

9.绘图细节设置

1.jupyter

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
x=range(10)
y=range(10)
#调用轴的对象
fig=plt.gca()
plt.plot(x,y)
#获取轴得到x轴刻度为假
fig.axes.get_xaxis().set_visible(False)
#获取轴得到y轴刻度为假
fig.axes.get_yaxis().set_visible(False)

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
x=range(10)
y=range(10)
labels=['hu' for i in range(10)]
fig,ax=plt.subplots()
plt.plot(x,y)
plt.title('Anan')
#rotation为x轴上内容旋转的角度,horizontalalignment为按什么方式对齐
ax.set_xticklabels(labels,rotation=30,horizontalalignment='right')

在这里插入图片描述

import matplotlib.pyplot as plt
x=range(10)
y=range(10)
#调用轴的对象
fig=plt.gca()
plt.plot(x,y)
fig.axes.get_xaxis().set_visible(False)
#获取轴得到y轴刻度为假
fig.axes.get_yaxis().set_visible(False)
plt.show()

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Anan.3

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

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

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

打赏作者

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

抵扣说明:

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

余额充值