matplotlib xticks 基于 旋转_Matplotlib基础全攻略

预计阅读时间15分钟。

Matplotlib是Python中最流行的绘图库,它模仿MATLAB中的绘图风格,提供了一整套与MATLAB相似的绘图API,通过API,我们可以轻松地绘制出高质量的图形。

中国银行股票数据下载:
链接:http://pan.baidu.com/s/1gfxRFbH 密码:d3id

开场例子

我们以中国银行股票收盘价曲线作为例子来作为开场。
首先我们通过pandas导入数据,并提取出收盘价一列:

ChinaBank = pd.read_csv('data/ChinaBank.csv',index_col = 'Date')
ChinaBank = ChinaBank.iloc[:,1:]
ChinaBank.index = pd.to_datetime(ChinaBank.index)
Close = ChinaBank.Close

我们来绘制2014年中国银行股票收盘价的走势图:

.plot(Close['2014'])
plt.show()

e3799fd0497c45feb4881d9717805258.png

是不是很简单,接下来,我们一起去慢慢探秘Matplotlib的强大之处

修改绘图属性

2.1 坐标

更改坐标范围
绘图时往往需要修改横纵坐标轴的范围,以使曲线位于图形的中间位置:

plt.plot([1,1,0,0,-1,0,1,1,-1])
plt.show()

504b97bd09c9c918a9537d5b16f40829.png

我们可以通过ylim方法修改y轴的范围,比如我们想修改为(-1.5,1.5),同理,我们可以通过xlim方法来修改x轴的坐标范围:

plt.plot([1,1,0,0,-1,0,1,1,-1])
plt.ylim(-1.5,1.5)
plt.show()

c458efe84891b3de038e11ac67a0e75c.png

设定坐标轴标签和旋转
我们可以通过xticks()和yticks()函数设定坐标的标签,两个函数主要有以下两个参数:
location:指坐标的位置.


labels:对应的坐标位置显示的标签.


两个参数一般是等长的数组,该函数另一个常用的参数是rotation参数,可以对坐标标签进行适当的旋转,看下面的例子:

plt.plot([1,1,0,0,-1,0,1,1,-1])
plt.ylim(-1.5,1.5)
plt.xticks(range(9),['02-01','02-02','02-03','02-04',
             '02-05','02-06','02-07','02-08','02-09'],rotation=45)
plt.show()

d52a337148984ec9925bb4cce207135a.png

可以看到X坐标由原来的数值1,2,3变成了我们设置的日期,同时标签与X轴成45度角.

2.2 添加文本

添加标题
添加标题可以通过title函数来实现,该函数主要有两个参数,第一个是str,指明标题的内容,第二个是loc,指明标题的位置,可以选择center,left或者right,默认是center

plt.plot(Close['2014'])
plt.title('中国银行2014年收盘价曲线',loc='right')
plt.show()

a4806d463203709bca5d4717a582005f.png

可以看到,在mac的Ipython环境下,中文是无法正常显示的,我们可以通过下面的方法解决:

from matplotlib.font_manager import FontManager, FontProperties
def getChineseFont():  
return FontProperties(fname='/System/Library/Fonts/PingFang.ttc')  

plt.plot(Close['2014'])
plt.title('中国银行2014年收盘价曲线',loc='right',fontproperties=getChineseFont())
plt.show()

bae771c6427532884ac7d24983728c29.png

设置坐标轴标签
设置坐标轴标签可以通过xlabel和ylabel函数来实现

plt.plot(Close['2014'])
plt.title('中国银行2014年收盘价曲线',loc='center',fontproperties=getChineseFont())
plt.xlabel('日期',fontproperties=getChineseFont())<
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值