Matplotlib库Api整理

画折线
import matplotlib.pyplot as plt

plt.plot([1,2,3,4],[5,4,2,8])
plt.plot([1,2,3,4],[6,5,3,9],marker="o")
plt.show()

在这里插入图片描述

画点
plt.plot([1,2,3,4],[5,4,2,8],"o")
plt.show()

在这里插入图片描述

画柱状图
#画柱状图
data=[20,50,66,89]
labels=['A','B','C','D']
#指定x轴是1,2,3,4。y轴为数据值
plt.bar(np.arange(len(data)),data)
#将x轴替换成标签
plt.xticks(np.arange(len(data)),labels)
plt.show()

在这里插入图片描述

画饼图
#画饼图,指定标签abcd,显示数据值加百分号保留2位小数,第1和第3个数据往外突出
plt.pie([10,20,30,40],labels=["a","b","c","d"],autopct="%.2f%%",explode=[0.1,0,0.2,0])
plt.axis("equal")
plt.show()

在这里插入图片描述

画布模式,画多个图
fig=plt.figure()
#将画布分为2行2列,当前占用第1个视图
plt1=fig.add_subplot(2,2,1)
plt1.plot([1,2,3,4],[5,6,7,8])
#将画布分为2行2列,当前占用第2个视图
plt2=fig.add_subplot(2,2,2)
plt2.plot([2,3,4,5],[1,5,7,2])
#将画布分为2行2列,当前占用第3个视图
plt3=fig.add_subplot(2,2,3)
plt3.plot([2,3,4,5],[2,5,4,2])
plt.show()

在这里插入图片描述

添加注释
plt.plot([1,2,3,4],[5,4,2,8],label="line1")
plt.plot([1,2,3,4],[6,5,3,9],marker="o",label="line2")
#x轴名称
plt.xlabel("x label")
#y轴名称
plt.ylabel("y label")
#标题
plt.title("title")
#左上角的图例,注意必须在plot函数里指定了label后才会显示
plt.legend()
plt.show()

在这里插入图片描述

绘制K线图

data数据如下,从excel读取,总共一个月的数据:
在这里插入图片描述

import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.finance as mpf
import matplotlib.ticker as ticker

# 定义日期标签转换函数,用于将x轴转化成日期
def Format_func(x, pos):
    return data.index[pos].strftime('%Y-%m-%d')

#增加一列index,值为dataframe的日期索引转化为时间戳
data['index'] = date2num(data.index.to_pydatetime())
#增加完数据如下
>>>			close	high	low		open	volume		index
2020-04-22	19.29	19.34	18.80	18.96	29245502.0	737537.0
2020-04-23	18.89	19.50	18.86	19.47	35230658.0	737538.0
						.........
						
#candlestick_ochl函数需要传入一个数组,第1列为时间戳,后面几列以ochl的顺序
quotes = data[['index','open','close','high','low']].values
#这里使用了dataframe的花式索引筛选数据,然后.values转化为数组,数据如下
>>> array([[7.37537e+05, 1.89600e+01, 1.92900e+01, 1.93400e+01, 1.88000e+01],
       [7.37538e+05, 1.94700e+01, 1.88900e+01, 1.95000e+01, 1.88600e+01],...)
       
#开启画布模式
fig=plt.figure()
#分成1行1列,占用第1个视图
ax1=fig.add_subplot(1,1,1)
ax1.set_title(symbol)
ax1.set_ylabel('价格')
#设置x轴显示为日期,格式用上面定义的函数进行格式化
ax1.xaxis.set_major_formatter(ticker.FuncFormatter(Format_func))
#显示表格
ax1.grid(True)
#传入参数
fin.candlestick_ochl(ax1,quotes,colordown='g', colorup='r',width=0.2)
#x轴的标识旋转30度
plt.xticks(rotation=30)
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值