数据分析python matplotlib简单实践笔记2

Python Matplotlib 数据分析实战:绘图技巧解析
本文介绍了Python数据分析库matplotlib的基本用法,包括如何创建多子图、设置坐标轴范围、添加图例、调整坐标轴刻度、处理日期坐标轴、添加双轴、注释和文字,以及使用fill和fill_between填充颜色和形状,以及美化图表样式的技巧。

av6989413

 

一张图内生成多个子图

x=np.arange(1,100)

fig=plt.figure()
#参数分别为:子图总行数,子图总列数,子图位置
ax1 = fig.add_subplot(221)
ax1.plot(x,x)

ax2 = fig.add_subplot(222)
ax2.plot(x,-x)

plt.show()

也可以直接使用plt.subplot(221)

plt.plot(x,x)画出子图

 

生成多张图

#多图
fig1=plt.figure()
ax1=fig1.add_subplot(111)
ax1.plot([1,2,3],[3,2,1])

fig2=plt.figure()
ax2=fig2.add_subplot(111)
ax2.plot([1,2,1],[1,2,3])

plt.show()

 

网格

plt.grid(True)

 

图例

x = np.arange(1,11,1)

plt.plot(x,x*2,label='normal')
plt.plot(x,x*3,label='fast')
plt.plot(x,x*4,label='faster')
plt.legend()#显示图例

 

修改坐标轴范围

plt.xlim([x1,x2])  plt.ylim([x1,x2])

内含xmin等参数,可只调整一边

 

调整坐标轴刻度

ax = plt.gca()#获取当前坐标轴
ax.locator_params('x',nbins=5)#只调整x轴,分为5格
#也可plt.locator_params('x',nbins=5)

坐标轴为日期

import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
import datetime
import pandas as pd


#修改日期坐标轴
fig = plt.figure()
start = datetime.datetime(2015,1,1)
stop = datetime.datetime(2016,1,1)
delta = datetime.timedelta(days=1)

dates = mpl.dates.drange(start,stop,delta)
y = np.random.rand(len(dates))

ax = plt.gca()
ax.plot_date(dates,y,linestyle='-',marker='')
plt.grid(True)

#调整日期格式
date_format = mpl.dates.DateFormatter('%Y-%m')
ax.xaxis.set_major_formatter(date_format)
#plt.xticks(pd.date_range('2015-01','2016-01'),rotation=90)#设置时间标签显示格式

#刻度标识自适应
fig.autofmt_xdate()


plt.show()

 

添加坐标轴

plt.twinx()

plt.plot(x,y2,'r')

 

添加注释

plt.annotate()

 

添加文字

plt.text()

 

填充颜色

plt.fill() 填充曲线与x轴之间

plt.fill_between() 填充两条曲线之间 可以使用where=y1>y2限定范围

 

生成形状

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

fig,ax = plt.subplots()

xy1 = np.array([0.2,0.2])

circle = mpatches.Circle(xy1,0.1)#圆心位置 半径

ax.add_patch(circle)

plt.axis('equal')#调整比例
plt.show()

 

美化样式

plt.style.use(' ')#有几种自带图表样式可选择

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值