[python数据自动化处理]python 用 matplotlib画图时设定x/y轴坐标主刻度及次要刻度的方法

标签:
365pythonmatplotlib数据自动化处理 |
分类: Matplotlib |
最近在做相关数据自动化和处理分析,个人觉得python在这方面,配合一些数据分析和作图工具包(matplotlib, googlechart,pychart等等),实现自动化分析还是非常强大的,也很容易入门和上手,以自动化代替人手工去分析极大提升办事效率这也是一件非常有意义的事情
后面会陆陆续续将python自动化分析和画图方面的东东整理记录下来,这也是不断积累的过程,希望有所沉淀
【背景:基于python脚本做海量数据自动化分析时,基于数据画图分析成为一种更直观的方式,但当数据多时,坐标显示的刻度需要控制以使图形显示和分析更直观和清晰】
按照matplotlib官方document中的用法,对 x axis/ y axis坐标刻度间隔的控制可以基于
matplotlib.ticker里的
【matplotlib 关于坐标由axis的详细document 说明请参考
链接:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#---------------------------------------------------
#演示MatPlotLib中设置坐标轴主刻度标签和次刻度标签.
#对于次刻度显示,如果要使用默认设置只要matplotlib.pyplot.minorticks_on()
#---------------------------------------------------
from pylab import *
from matplotlib.ticker import
from matplotlib.ticker import
#---------------------------------------------------
xmajorLocator = MultipleLocator(20);
#设置x轴标签文本的格式
xmajorFormatter = FormatStrFormatter('%3.1f')
#将x轴次刻度标签设置为5的倍数
xminorLocator = MultipleLocator(5)
#设定y 轴的主刻度间隔及相应的刻度间隔显示格式
#将y轴主刻度标签设置为1.0的倍数
ymajorLocator = MultipleLocator(1.0)
ymajorFormatter = FormatStrFormatter('%1.1f')
#将此y轴次刻度标签设置为0.2的倍数
yminorLocator = MultipleLocator(0.2)
t = arange(1.0, 100.0, 1)
s=t*exp(-t*1.3)+2*sqrt(t)
ax = subplot(111)
plot(t,s,'--r*')
#设置主刻度标签的位置,标签文本的格式
ax.xaxis.set_major_locator(xmajorLocator)
ax.xaxis.set_major_formatter(xmajorFormatter)
ax.yaxis.set_major_locator(ymajorLocator)
ax.yaxis.set_major_formatter(ymajorFormatter)
#显示次刻度标签的位置,没有标签文本
ax.xaxis.set_minor_locator(xminorLocator)
ax.yaxis.set_minor_locator(yminorLocator)
ax.xaxis.grid(True, which='major') #x坐标轴的网格使用主刻度
ax.yaxis.grid(True, which='minor') #y坐标轴的网格使用次刻度
show()
##########################################################
【附画出来的坐标图形格式效果】
http://images.cnitblog.com/blog/376407/201308/28202200-8ef8f1145511494583ee7fea0908b1f5.png用