目录:
1、准备工作
2、示例演示
3、添加标签
4、改变线条的风格
5、绘制多线条
6、改变整体的风格
1、准备工作
首先要确保安装好Matplotlib库用pip下载,打开cmd输入pip install matplotlib即可完成下载
2、示例演示
展示的数据
from
运行结果:
五行代码就生成了一个图,我这里用的是股票代码为000001平安银行近段时间来的股票数据,x轴为日期,y轴为股票价格,调用plot()将数据传入,最后调用show()将图片展示出来,用pycharm做出了的图可以交互(jupyter notebook就不可以交互),就是左下角的那一排按钮,要是你想要保存下来就调用savefig()方法即可保存。
这图也太简单了吧,小编你能不能弄的漂亮点啊,别急这就来
3、添加标签
from matplotlib import pyplot as plt
time = ['2020-03-11', '2020-03-12', '2020-03-13', '2020-03-16', '2020-03-17', '2020-03-18', '2020-03-19',
'2020-03-20', '2020-03-23', '2020-03-24', '2020-03-25', '2020-03-26', '2020-03-27']
price = [14.69, 14.68, 14.52, 13.75, 13.41, 12.71, 12.23, 12.52, 12.15, 12.61, 12.87, 13.06, 13.15]
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.plot(time, price, label='000001 平安银行')
plt.title('股票走势图')
plt.xlabel('日期')
plt.ylabel('价格')
plt.legend()
plt.show()
运行结果:
plt.rcParams['font.sans-serif'] = ['SimHei']这行主要就是让程序能正常显示中文,title(),xlabel(),ylabel()分别是设置图片标题、给坐标轴加标签
4、改变线条的风格
from matplotlib import pyplot as plt
time = ['2020-03-11', '2020-03-12', '2020-03-13', '2020-03-16', '2020-03-17', '2020-03-18', '2020-03-19',
'2020-03-20', '2020-03-23', '2020-03-24', '2020-03-25', '2020-03-26', '2020-03-27']
price = [14.69, 14.68, 14.52, 13.75, 13.41, 12.71, 12.23, 12.52, 12.15, 12.61, 12.87, 13.06, 13.15]
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.plot(time, price, color='r', marker='o', linestyle='--', label='000001 平安银行')
plt.title('股票走势图')
plt.xlabel('日期')
plt.ylabel('价格')
plt.legend()
plt.grid(True)
plt.show()
运行结果:
plot()中可以添加很多参数:颜色:color、点的形状:marker、线条的形状:linestyle、透明度:alpha等
5、绘制多线条
在股票中除了价格以外还有很多均线,最常见的就是5天均线
from matplotlib import pyplot as plt
time = ['2020-03-11', '2020-03-12', '2020-03-13', '2020-03-16', '2020-03-17', '2020-03-18', '2020-03-19',
'2020-03-20', '2020-03-23', '2020-03-24', '2020-03-25', '2020-03-26', '2020-03-27']
price = [14.69, 14.68, 14.52, 13.75, 13.41, 12.71, 12.23, 12.52, 12.15, 12.61, 12.87, 13.06, 13.15]
ma5 = [14.21, 13.814, 13.324, 12.924, 12.604, 12.444, 12.476, 12.642, 12.768]
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.plot(time, price, color='r', marker='o', label='000001 平安银行')
plt.plot(time[-9:], ma5, color='y', marker='o', linestyle='--', label='ma5 5天均线', alpha=0.7)
plt.title('股票走势图')
plt.xlabel('日期')
plt.ylabel('价格')
plt.legend()
plt.grid(True)
plt.show()
运行结果:
如果你要绘制多天曲线只需要再提供一组关于y轴的数据就好了
6、改变整体的风格
from matplotlib import pyplot as plt
plt.style.use('fivethirtyeight')
time = ['2020-03-11', '2020-03-12', '2020-03-13', '2020-03-16', '2020-03-17', '2020-03-18', '2020-03-19',
'2020-03-20', '2020-03-23', '2020-03-24', '2020-03-25', '2020-03-26', '2020-03-27']
price = [14.69, 14.68, 14.52, 13.75, 13.41, 12.71, 12.23, 12.52, 12.15, 12.61, 12.87, 13.06, 13.15]
ma5 = [14.21, 13.814, 13.324, 12.924, 12.604, 12.444, 12.476, 12.642, 12.768]
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.plot(time, price, color='r', marker='o', label='000001 平安银行')
plt.plot(time[-9:], ma5, color='y', marker='o', linestyle='--', label='ma5 5天均线', alpha=0.7)
plt.title('股票走势图')
plt.xlabel('日期')
plt.ylabel('价格')
plt.legend()
plt.grid(True)
plt.show()
运行结果;
这里选择的风格是fivethirtyeight(五三八风格)一种适合于股票显示的风格
可以调用style.available查看有哪些风格,大家可以根据自己的喜好自行挑选
for i in plt.style.available:
print(i)
运行结果: