王者荣耀人物出场视频的新出人物.什么时候出

参考文档:
以xticks为例:
matplotlib.pyplot.xticks(*args, **kwargs)
获取或者设置当前刻度位置和文本的 x-limits:
# return locs, labels where locs is an array of tick locations and
# labels is an array of tick labels.
locs, labels = xticks()
# set the locations of the xticks
xticks( arange(6) )
# set the locations and labels of the xticks
xticks( arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue') )
关键字 args ,如果有其他的参数则是
属性。例如,旋转长的文本标注。
xticks( arange(12), calendar.month_name[1:13], rotation=17 )
Axis containers
对象负责刻度线、格网线、刻度标注和坐标轴标注的绘制工作。你可以设置y轴的左右刻度或者x轴的上下刻度。 Axis 也存储了用于自动调整,移动和放缩的数据和视觉间隔;同时
对象控制着刻度的位置以及以怎样的字符串呈现。
每一个 Axis 对象包含一个 label 属性以及主刻度和小刻度的列表。刻度是
对象,其包含着实际线和文本元素,分别代表刻度和注释。因为刻度是根据需要动态创建的,你应该通过获取方法
和 以获取主刻度和小刻度的列表。尽管刻度包含了所有的元素,并且将会在下面代码中涵盖,Axis 方法包含了获取方法以返回刻度线、刻度标注和刻度位置等等:
In [285]: axis = ax.xaxis
In [286]: axis.get_ticklocs()
Out[286]: array([ 0.,
In [287]: axis.get_ticklabels()
Out[287]: &a list of 10 Text major ticklabel objects&
# note there are twice as many ticklines as labels because by
default there are tick lines at the top and bottom but only tick
la this can be customized
In [288]: axis.get_ticklines()
Out[288]: &a list of 20 Line2D ticklines objects&
# by default you get the major ticks back
In [291]: axis.get_ticklines()
Out[291]: &a list of 20 Line2D ticklines objects&
# but you can also ask for the minor ticks
In [292]: axis.get_ticklines(minor=True)
Out[292]: &a list of 0 Line2D ticklines objects&
阅读(...) 评论()随笔 - 365&
文章 - 20&评论 - 23&trackbacks - 0
Python(71)&&matplotlib(11)&&Numpy_Scipy(14)&
使用matplotlib的示例:调整字体-设置刻度、坐标、colormap和colorbar等
[python]&&
import&os&&
import&numpy&as&np&&
import&wlab&
import&matplotlib&&
import&matplotlib.cm&as&cm&&
import&matplotlib.pyplot&as&plt&&
from&matplotlib.ticker&import&MultipleLocator&&
from&scipy.interpolate&import&griddata&&
matplotlib.rcParams['xtick.direction']&=&'out'&&
matplotlib.rcParams['ytick.direction']&=&'out'&&
FreqPLUS=['F06925','F10650','F23800','F18700','F36500','F89000']&&
FindPath='/d3/MWRT/R/'&&
fig&=&plt.figure(figsize=(8,6),&dpi=72,&facecolor="white")&&
axes&=&plt.subplot(111)&&
axes.cla()
font&=&{'family'&:&'serif',&&
&&&&&&&&'color'&&:&'darkred',&&
&&&&&&&&'weight'&:&'normal',&&
&&&&&&&&'size'&&&:&16,&&
&&&&&&&&}&&
for&fp&in&FreqPLUS:&&
&&&&FlagStr=[fp,'EMS','txt']&&
&&&&FileList=wlab.GetFileList(FindPath,FlagStr)&&
&&&&LST=[]
&&&&EMS=[]
&&&&TBH=[]
&&&&TBV=[]
&&&&findex=0&&
&&&&for&fn&in&FileList:&&
&&&&&&&&findex=findex+1&&
&&&&&&&&if&(os.path.isfile(fn)):&&
&&&&&&&&&&&&print(str(findex)+'--&'+fn)&&
&&&&&&&&&&&&
&&&&&&&&&&&&data=wlab.dlmread(fn)&&
&&&&&&&&&&&&EMS=EMS+list(data[:,1])
&&&&&&&&&&&&LST=LST+list(data[:,2])
&&&&&&&&&&&&TBH=TBH+list(data[:,8])
&&&&&&&&&&&&TBV=TBV+list(data[:,9])
&&&&grid_x,&grid_y&=&np.mgrid[275:315:1,&0.60:0.95:0.01]&&
&&&&grid_z&=&griddata((LST,EMS),&TBH,&(grid_x,&grid_y),&method='cubic')&&
&&&&extent=(0,1,0,1)&&
&&&&cmap&=&matplotlib.cm.jet&&
&&&&norm&=&matplotlib.colors.Normalize(vmin=160,&vmax=300)&&
&&&&gci=plt.imshow(grid_z.T,&extent=extent,&origin='lower',cmap=cmap,&norm=norm)&&
&&&&ax=plt.gca()&&
&&&&ax.set_xticks(np.linspace(0,1,9))&&
&&&&ax.set_xticklabels(&('275',&'280',&'285',&'290',&'295',&&'300',&&'305',&&'310',&'315'))&&
&&&&ax.set_yticks(np.linspace(0,1,8))&&
&&&&ax.set_yticklabels(&('0.60',&'0.65',&'0.70',&'0.75',&'0.80','0.85','0.90','0.95'))&&
&&&&cbar&=&plt.colorbar(gci)&&
&&&&cbar.set_label('$T_B(K)$',fontdict=font)&&
&&&&cbar.set_ticks(np.linspace(160,300,8))&&
&&&&cbar.set_ticklabels(&('160',&'180',&'200',&'220',&'240',&&'260',&&'280',&&'300'))&&
&&&&ax.set_ylabel('Land&Surface&Emissivity',fontdict=font)&&
&&&&ax.set_xlabel('Land&Surface&Temperature(K)',fontdict=font)&
&&&&titleStr='$T_B$&for&Freq&=&'+str(float(fp[1:-1])*0.01)+'GHz'&&
&&&&plt.title(titleStr)&&
&&&&figname=fp+'.png'&&
&&&&plt.savefig(figname)&&
&&&&plt.clf()
print('ALL&-&&Finished&OK')&&
上面的例子中,每个保存的图,都是用同样的colormap,并且每个图的颜色映射值都是一样的,也就是说第一个图中如果200表示蓝色,那么其他图中的200也表示蓝色。
示例的图形如下:
阅读(...) 评论()使用Matplotlib进行绘图时,当x轴的数据太多的时候,就需要设置x轴的刻度和显示文本,关键代码如下:
绘图结果如下:
阅读(...) 评论()Python matplotlib高级绘图详解
前面我们介绍了使用matplotlib简单的绘图方法(见: )
但是想要完全控制你的图形,以及更高级的用法,就需要使用 pyplot 的接口显式的创建图形figure。
本文介绍plyplot控制绘图的一些方法。
2. Pyplot绘图结构
matplotlib API包含有三层:
backend_bases.FigureCanvas : 图表的绘制领域
backend_bases.Renderer : 知道如何在FigureCanvas上如何绘图
artist.Artist : 知道如何使用Renderer在FigureCanvas上绘图
FigureCanvas和Renderer需要处理底层的绘图操作,例如使用wxPython在界面上绘图,或者使用PostScript绘制PDF。Artist则处理所有的高层结构,例如处理图表、文字和曲线等的绘制和布局。通常我们只和Artist打交道,而不需要关心底层的绘制细节。
Artists分为简单类型和容器类型两种。简单类型的Artists为标准的绘图元件,例如Line2D、 Rectangle、 Text、AxesImage 等等。而容器类型则可以包含许多简单类型的Artists,使它们组织成一个整体,例如Axis、 Axes、Figure等。
Figure代表一个绘制面板,其中可以包涵多个Axes(即多个图表)。
fig = plt.figure()
# an empty figure with no axes
ax = fig.add_axes([0.15, 0.1, 0.7, 0.3])
#或者采用一下方式
fig, ax_lst = plt.subplots(2, 2)
# a figure with a 2x2 grid of Axes
Axes表示一个图表
一个Axes包涵:titlek, xaxis, yaxis
3. Artist的属性
下面是Artist对象都具有的一些属性:
alpha : 透明度,值在0到1之间,0为完全透明,1为完全不透明
animated : 布尔值,在绘制动画效果时使用
axes : 此Artist对象所在的Axes对象,可能为None
clip_box : 对象的裁剪框
clip_on : 是否裁剪
clip_path : 裁剪的路径
contains : 判断指定点是否在对象上的函数
figure : 所在的Figure对象,可能为None
label : 文本标签
picker : 控制Artist对象选取
transform : 控制偏移旋转
visible : 是否可见
zorder : 控制绘图顺序
Artist对象的所有属性都通过相应的 get_* 和 set_* 函数进行读写
fig.set_alpha(0.5*fig.get_alpha())
如果你想用一条语句设置多个属性的话,可以使用set函数:
fig.set(alpha=0.5, zorder=2)
使用 matplotlib.pyplot.getp 函数可以方便地输出Artist对象的所有属性名和值。
&&& plt.getp(fig.patch)
alpha = 1.0
animated = False
antialiased or aa = True
如前所述,Figure是最大的一个Aritist,它包括整幅图像的所有元素,背景是一个Rectangle对象,用Figure.patch属性表示。
通过调用add_subplot或者add_axes方法往图表中添加Axes(子图)。
PS:这两个方法返回值类型不同
&&& fig = plt.figure()
&&& ax1 = fig.add_subplot(211)
&&& ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.3])
&matplotlib.axes.AxesSubplot object at 0x056BCA90&
&matplotlib.axes.Axes object at 0x056BC910&
&&& fig.axes
[&matplotlib.axes.AxesSubplot object at 0x056BCA90&,
&matplotlib.axes.Axes object at 0x056BC910&]
为了支持pylab中的gca()等函数,Figure对象内部保存有当前轴的信息,因此不建议直接对Figure.axes属性进行列表操作,而应该使用add_subplot, add_axes, delaxes等方法进行添加和删除操作。
fig = plt.figure()
ax1 = fig.add_axes([0.1, 0.45, 0.8, 0.5])
ax2 = fig.add_axes([0.1, 0.1, 0.8, 0.2])
plt.show()
Figure对象可以拥有自己的文字、线条以及图像等简单类型的Artist。缺省的坐标系统为像素点,但是可以通过设置Artist对象的transform属性修改坐标系的转换方式。最常用的Figure对象的坐标系是以左下角为坐标原点(0,0),右上角为坐标(1,1)。下面的程序创建并添加两条直线到fig中:
&&& from matplotlib.lines import Line2D
&&& fig = plt.figure()
&&& line1 = Line2D([0,1],[0,1], transform=fig.transFigure, figure=fig, color="r")
&&& line2 = Line2D([0,1],[1,0], transform=fig.transFigure, figure=fig, color="g")
&&& fig.lines.extend([line1, line2])
&&& fig.show()
在Figure对象中手工绘制直线
注意为了让所创建的Line2D对象使用fig的坐标,我们将fig.TransFigure赋给Line2D对象的transform属性;为了让Line2D对象知道它是在fig对象中,我们还设置其figure属性为fig;最后还需要将创建的两个Line2D对象添加到fig.lines属性中去。
Figure对象有如下属性包含其它的Artist对象:
axes : Axes对象列表
patch : 作为背景的Rectangle对象
images : FigureImage对象列表,用来显示图片
legends : Legend对象列表
lines : Line2D对象列表
patches : patch对象列表
texts : Text对象列表,用来显示文字
Axes容器是整个matplotlib库的核心,它包含了组成图表的众多Artist对象,并且有许多方法函数帮助我们创建、修改这些对象。和Figure一样,它有一个patch属性作为背景,
当它是笛卡尔坐标时,patch属性是一个Rectangle对象;
当它是极坐标时,patch属性则是Circle对象。
当你调用Axes的绘图方法(例如plot),它将创建一组Line2D对象,并将所有的关键字参数传递给这些Line2D对象,并将它们添加进Axes.lines属性中,最后返回所创建的Line2D对象列表:
x1 = np.linspace(0.0, 5.0)
x2 = np.linspace(0.0, 3.0)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
y2 = np.cos(2 * np.pi * x2)
ax1.patch.set_facecolor("green")
ax1.grid(True)
line1 = ax1.plot(x1, y1, 'yo-', label="Test1")
print type(line1)
print line1
line2 = ax2.plot(x2, y2, 'r.-', label='Test2')
&type 'list'&
[&matplotlib.lines.Line2D object at 0x7fa3ac96e8d0&]
plot返回的是一个Line2D对象的列表,因为我们可以传递多组X,Y轴的数据,一次绘制多条曲线。
与plot方法类似,绘制直方图的方法bar和绘制柱状统计图的方法hist将创建一个Patch对象的列表,每个元素实际上都是Patch的子类Rectangle,并且将所创建的Patch对象都添加进Axes.patches属性中:
&&& ax = fig.add_subplot(111)
&&& n, bins, rects = ax.hist(np.random.randn(1000), 50, facecolor="blue")
&a list of 50 Patch objects&
&&& rects[0]
&matplotlib.patches.Rectangle object at 0x05BC2350&
&&& ax.patches[0]
&matplotlib.patches.Rectangle object at 0x05BC2350&
一般我们不会直接对Axes.lines或者Axes.patches属性进行操作,而是调用add_line或者add_patch等方法,这些方法帮助我们完成许多属性设置工作:
&&& fig = plt.figure()
&&& ax = fig.add_subplot(111)
&&& rect = matplotlib.patches.Rectangle((1,1), width=5, height=12)
&&& print rect.get_axes()
&&& rect.get_transform()
BboxTransformTo(Bbox(array([[
&&& ax.add_patch(rect)
&matplotlib.patches.Rectangle object at 0x05C34E50&
&&& rect.get_axes()
&matplotlib.axes.AxesSubplot object at 0x05C09CB0&
&&& rect.get_transform()
&&& ax.transData
&&& ax.get_xlim()
(0.0, 1.0)
&&& ax.dataLim._get_bounds()
(1.0, 1.0, 5.0, 12.0)
&&& ax.autoscale_view()
&&& ax.get_xlim()
(1.0, 6.0)
&&& plt.show()
通过上面的例子我们可以看出,add_patch方法帮助我们设置了rect的axes和transform属性。
下面详细列出Axes包含各种Artist对象的属性:
artists : Artist对象列表
patch : 作为Axes背景的Patch对象,可以是Rectangle或者Circle
collections : Collection对象列表
images : AxesImage对象列表
legends : Legend对象列表
lines : Line2D对象列表
patches : Patch对象列表
texts : Text对象列表
xaxis : XAxis对象
yaxis : YAxis对象
下面列出Axes的创建Artist对象的方法:
Axes的方法
所创建的对象
添加进的列表
Line2D, Rectangle
lines,patches
PolygonCollection
Collections
Axis容器包括坐标轴上的刻度线、刻度文本、坐标网格以及坐标轴标题等内容。刻度包括主刻度和副刻度,分别通过Axis.get_major_ticks和Axis.get_minor_ticks方法获得。每个刻度线都是一个XTick或者YTick对象,它包括实际的刻度线和刻度文本。为了方便访问刻度线和文本,Axis对象提供了get_ticklabels和get_ticklines方法分别直接获得刻度线和刻度文本
&&& axis.get_ticklocs()
array([ 1. ,
&&& axis.get_ticklabels()
&a list of 5 Text major ticklabel objects&
&&& [x.get_text() for x in axis.get_ticklabels()]
[u'1.0', u'1.5', u'2.0', u'2.5', u'3.0']
&&& axis.get_ticklines()
&a list of 10 Line2D ticklines objects&
&&& axis.get_ticklines(minor=True)
&a list of 0 Line2D ticklines objects&
7. 参考文献:
[1] matplotlib doc
[2] 用Python做科学计算
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?在Matplotlib绘图过程中设置X轴的刻度和显示文本
使用Matplotlib进行绘图时,当x轴的数据太多的时候,就需要设置x轴的刻度和显示文本,关键代码如下:
绘图结果如下:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 王者荣耀曦什么时候出 的文章

 

随机推荐