matplotlib----初探------4折线图
概念:
折线图是用直线段将各数据连接起来组成的图形。
常用来观察数据随时间变化的趋势。
例如股票价格、温度变化、等等。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
实例1:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(-10,10,10) #在-10~10之间等分取10个值 y = x**2 plt.plot(x,y) #plot默认即为折线图 plt.show()
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
实例2:
import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates #转换日期格式 # date,open,close = np.loadtxt('000001.csv',delimiter=',',converters={0:mdates.strpdate2num('%m%d%Y')},skiprows=1, usecols=(0,1,4),unpack=True)#python2.x版本 date,open,close=np.loadtxt('000001.csv',delimiter=',', converters={0:mdates.bytespdate2num('%m/%d/%Y')},skiprows=1,usecols=(0,1,4),unpack=True)#python3.x版本 plt.plot(date,open) plt.show()
横坐标目前非日期:
改进:
plt.plot(date,open) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>plt.plot_date(date,open)
但是我们发现此时的图却变成散点图,是因为plot_date默认给出的是散点图,
为了进一步改成折线图,需要进一步添加参数:
plt.plot(date,open) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>plt.plot_date(date,open,'-')
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
对线形状,颜色,标记进行更改
plt.plot_date(date,open,linestyle='--',color='r',marker= 'o') >>>>> 虚线红色圆标记
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
作业
画出x值为[0,10]的正弦函数图像。
读取000001.SH的Open, High, Low, Close,并将它们画在一张图上。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1.
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,10,100) y=np.sin(x) plt.plot(x,y) plt.show()
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
2.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates #转换日期格式
date,open,high,low,close= np.loadtxt('000001.csv',delimiter=',',converters={0:mdates.bytespdate2num('%m/%d/%Y')},skiprows=1,usecols=(0,1,2,3,4),unpack=True)
plt.plot_date(date,open,'-',marker='<')
plt.plot_date(date,high,'-','red',marker=">")
plt.plot_date(date,low,'-','y',marker= "o")
plt.plot_date(date,close,'-','purple',marker="2")
plt.show()