VIS-004 6 Python数据可视化:绘制曲线叠加图

如何在一幅图中绘制多个曲线?

下面的代码可以实现一个图绘制多个曲线,并且设置曲线的样式:

import matplotlib.pyplot as plt
import numpy as np
import math
from pylab import *

pi=math.pi
x = np.arange(-5.0, 5.0, 0.02)
y1=np.sin(x)
y2=np.sin(x+pi*1/4)
y3=np.sin(x+pi*1/2)
xlim(-2.5, 2.5)#属于pylab,用来确定x、y轴的范围
ylim(-1, 1)
plt.plot(x,y1,'r',x,y2,'h',x,y3,'g^')#绘制曲线及设置形式
plt.show()
#自定义曲线形式:
#'-'实线  '--'虚线  ‘-.'点线  ':'点虚线  '.'点    ,'像素
# 'o'圆形 'v'朝下的三角形   '^'朝上的三角形   '<'朝左的三角形   '>'朝右的三角形
#'1'tri_down marker '2'tri_up marker    '3'tri_left marker  '4'tri_right marker
#'s'正方形 'p'五角形  '*'星型  'h'、'H'六边形
#'+'+号标记    'x'x号标记 'D'钻石形  'd'小版钻石形    '|'垂直线形     '_'水平线行
#颜色:'b''g''r''c''m''y''k''w'蓝绿红青品红黄黑白

输出如下:

VIS-004 6 Python数据可视化:绘制曲线叠加图_第1张图片

 

np.arange(start, end, density)

start:起始坐标;end:终止坐标;density:相邻点的间隔

改变density,我们可以清楚看到每个点的位置:

x=np.arange(-10,10,0.5)
y1=x**2
y2=2**x
plt.plot(x,y1,"h",x,y2,"*")
plt.show()

输出如下:

VIS-004 6 Python数据可视化:绘制曲线叠加图_第2张图片

在这里可以利用简单的循环对于函数列的收敛性进行直观的探索:

x=np.arange(0., 5., 0.02)
for n in range(1,20):#反复绘制20条曲线
    y4=x**n
    xlim(0, 1)
    ylim(0, 1)
    plt.plot(x,y4,'r')
plt.show()#本语句放在循环外面,否则画出来的将是20个单条曲线的图

输出如下:

VIS-004 6 Python数据可视化:绘制曲线叠加图_第3张图片

看起来效果很不错呢!

你可能感兴趣的:(Data,Visualization)