python plot函数画多个折线图_【python】matplotlib数据可视化(2)——figure和plot

预备知识(matplotlib画图的基础知识):

条形图(竖着的):bar

水平条形图(横着的):barh

折线图:plot

饼图:pie

========================

xticks、yticks:设置坐标轴刻度

xlabel、ylabel:设置坐标轴标签

xlim、ylim:设置坐标轴数据范围

title:标题

legend:图例

grid:网格线

text:添加数据标签

*****************************************

有时候我们需要同时显示好几张图,就会用到figure()函数

一、同时显示多张图

import numpy as np

import matplotlib.pyplot as plt

x=np.linspace(-1,1,50)

y1=x**2

y2=2*x+1

plt.figure()

plt.plot(x,y1)

plt.figure()

plt.plot(x,y2)

plt.show()

同时显示多张图时,在每一句 plt.plot(x,y) 前边添加 plt.figure() ,就可以画出多张图。

二、利用figure函数指定图片编号、大小

1、如果上述figure函数的参数为空,即plt.figure(),那么图片名字默认为1,2,3...

指定了num=3 or 其他数值后,图片编号为指定的编号。

2、figsize, 图片长和宽

如下:

plt.figure(num=3,figsize=(8,5))

三、线宽、线的类型

plt.plot(x,y2,color='red',linewidth=1.0,linestyle='--')

四、在一张图中画多条线

plt.figure()用来确定画图的图片

plt.plot()用来画线

import numpy as np

import matplotlib.pyplot as plt

x=np.linspace(-1,1,50)

y1=x**2

y2=2*x+1

plt.figure(num=3,figsize=(8,5))

plt.plot(x,y2,color='red',linewidth=1.0,linestyle='--')

plt.plot(x,y1)

plt.show()

五、设置坐标轴

1、

plt.xlim()设置x坐标轴范围

plt.ylim()设置y坐标轴范围

plt.xlabel("i am x")设置x轴标签

plt.ylabel("i am y")设置y轴标签

import numpy as np

import matplotlib.pyplot as plt

x=np.linspace(-1,1,50)

y1=x**2

y2=2*x+1

plt.figure()

plt.plot(x,y1)

plt.xlim((-1.1))

plt.xlabel("i am x")

plt.ylabel("i am y")

plt.show()

2、将y轴的值设置为文字

import numpy as np

import matplotlib.pyplot as plt

x=np.linspace(-1,1,50)

y1=x**2

y2=2*x+1

plt.figure()

plt.plot(x,y1)

new_ticks=np.linspace(-1,2,5)

print(new_ticks)

plt.xticks(new_ticks)

plt.yticks([-2,0,2],["bad","zero","good"])

plt.show()

另外,为了让字体更好看,可以修改字体:

plt.yticks([-2,0,2],[r"$bad$",r"$zero$",r"$good$"])

如果坐标轴的文字找那个有空格,则需要在空格前加"\",转义字符

\alpha 就能打印出alpha 符号

六、修改坐标轴的位置

1、隐藏figure中的边界线

在代码中加入以下语句,就会隐藏相应的“脊梁”(最边上的直线)

ax=plt.gca()

ax.spines["left"].set_color("none")

ax.spines["top"].set_color("none")

如图所示,左边和上边的边边没有了。

2、移动坐标轴的位置

第一步。用figure中的边线表示x轴、y轴

ax.xaxis.set_ticks_position("bottom")#使用底下的线表示 X 坐标轴

ax.yaxis.set_ticks_position("left")#使用左边的线表示 Y 坐标轴

第二步。移动坐标轴到指定的值的位置。

#开始移动坐标轴

ax.spines["bottom"].set_position(('data',0))# bottom:x轴, 参数0表示x轴对准y=0

ax.spines["left"].set_position(('data',0))#left :y轴,0表示对准x=0

完整代码:

import numpy as np

import matplotlib.pyplot as plt

x=np.linspace(-1,1,10)

y1=x**2

y2=2*x+1

plt.figure()

plt.plot(x,y1)

new_ticks=np.linspace(-1,2,5)

plt.xticks(x)

plt.yticks([-2,0,2],["bad","zero","good"])

ax=plt.gca()

ax.spines["right"].set_color("none")

ax.spines["top"].set_color("none")

ax.xaxis.set_ticks_position("bottom")#使用底下的线表示 X 坐标轴

ax.yaxis.set_ticks_position("left")#使用左边的线表示 Y 坐标轴

#开始移动坐标轴

ax.spines["bottom"].set_position(('data',0))# bottom:x轴, 参数0表示x轴对准y=0

ax.spines["left"].set_position(('data',0))#left :y轴,0表示对准x=0

plt.show()

七、plot函数的参数:

matplotlib.pyplot.plot(*args, **kwargs):

plot(x, y) #plot x, y使用默认的线条样式和颜色

plot(x, y, 'bo') #plot x,y用蓝色圆圈标记

plot(y) #plot y用x作为自变量

plot(y, 'r+') #同上,但是是用红色作为标记

plot函数绘制不同的线对应的参数:

线的颜色对应的参数:

你可能感兴趣的:(python,plot函数画多个折线图)