三、Matplotlib数据可视化-折线图

一、概念

折线图是用直线将各数据连接起来组成的图形。常用来观察数据随时间变化的趋势,例如股票价格、温度变化等等。

 二、绘制一个简单的折线图

linspace是numpy中的一个将区间等分的函数,如numpy.linspace(-10,10,100)就是将-10到10这个区间等分为100份进行取值。

import numpy as np
import matplotlib.pyplot as plt 

x=np.linspace(-10,10,5)
y=x**2

plt.plot(x,y)

plt.show()

三、折线图函数的一些配置

折线图函数的配置和散点图相似。由于没有找到上证指数000001.SH.csv文件,所以我随机生成了一个000001.SH.csv文件。plot()函数是生成普通的折线图,plot_date()函数生成横轴为日期的折线图,plot_date()函数中默认生成的是点图,需要加上fmt=‘-’就会变为折线图。color指定点的颜色,marker指定点的形状。一张图中可以画等多个折线图,如下图所示。

import numpy as np
import matplotlib.pyplot as plt 
import matplotlib.dates as mdates

#随机生成000001.SH.csv文件,保存到当前目录
arr=[]
header='Date,Open,High,Low,Close'

for month in range(1):
    for day in range(20):
        inta=sorted(np.random.randint(1,100,size=4))
        temp=[str(month+1)+'/'+str(day+1)+'/2021',inta[1],inta[3],inta[0],inta[2]]
        arr.append(temp)

np.savetxt('000001.SH.csv',arr,fmt='%s',delimiter=',',comments='',header=header)

#打开000001.SH.csv文件
date,open,high,low,close=np.loadtxt('000001.SH.csv',delimiter=',',
                            skiprows=1,unpack=True,dtype=str)

plt.plot_date(date,open,fmt='-',color='green',marker='<')
plt.plot_date(date,close,fmt='-',color='red',marker='o')

plt.show()

四、作业

1、画出X值为[0,10]的正弦函数图像

import numpy as np
import matplotlib.pyplot as plt 
import matplotlib.dates as mdates

x=np.linspace(0,10,100)
plt.plot(x,np.sin(x),'-',color='red',marker='')
plt.show()

2、读取000001.SH的Open,High,Low,Close,并将它们画在一张图上

我们还是使用自己生成的000001.SH.csv文件来生成图像

import numpy as np
import matplotlib.pyplot as plt 
import matplotlib.dates as mdates

#随机生成000001.SH.csv文件,保存到当前目录
arr=[]
header='Date,Open,High,Low,Close'

for month in range(1):
    for day in range(20):
        inta=sorted(np.random.randint(1,100,size=4))
        temp=[str(month+1)+'/'+str(day+1)+'/2021',inta[1],inta[3],inta[0],inta[2]]
        arr.append(temp)

np.savetxt('000001.SH.csv',arr,fmt='%s',delimiter=',',comments='',header=header)

#打开000001.SH.csv文件
date,open,high,low,close=np.loadtxt('000001.SH.csv',delimiter=',',
                            skiprows=1,unpack=True,dtype=str)

plt.plot_date(date,open,fmt='-',color='green',marker='<')
plt.plot_date(date,high,fmt='-',color='blue',marker='*')
plt.plot_date(date,low,fmt='-',color='black',marker='x')
plt.plot_date(date,close,fmt='-',color='red',marker='o')

plt.show()

猜你喜欢

转载自blog.csdn.net/qq_40836442/article/details/112997765