本文整理汇总了Python中myquaternaryutility.QuaternaryPlot.line方法的典型用法代码示例。如果您正苦于以下问题:Python QuaternaryPlot.line方法的具体用法?Python QuaternaryPlot.line怎么用?Python QuaternaryPlot.line使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类myquaternaryutility.QuaternaryPlot
的用法示例。
在下文中一共展示了QuaternaryPlot.line方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from myquaternaryutility import QuaternaryPlot [as 别名]
# 或者: from myquaternaryutility.QuaternaryPlot import line [as 别名]
class binarylines:
def __init__(self, ax, insetax, ellabels=['A', 'B', 'C', 'D'], offset=0.02, numcomppts=21, view_azim=-159, view_elev=30, **kwargs):
self.ax=ax
self.insetax=insetax
self.ellabels=ellabels
self.stpq=QuaternaryPlot(insetax, ellabels=ellabels, offset=offset)
comppairs=[]
a=numpy.linspace(0, 1, 21)
count=-1
for i in range(4):
for j in range(i+1, 4):
count+=1
b=numpy.zeros((numcomppts, 4), dtype='float64')
b[:, i]=a
b[:, j]=1.-a
comppairs+=[(c1, c2) for c1, c2 in zip(b[:-1], b[1:])]
for (c1, c2) in comppairs:
self.stpq.line(c1, c2, fmt='-', c=self.stpq.rgb_comp([(c1+c2)/2.])[0], **kwargs)
self.stpq.set_projection(azim=view_azim, elev=view_elev)
self.stpq.label()
def plotbinaryfom(self, comps, fom, **kwargs):
cb=comps>.001
ms=['<','>','^','v','s','D']
count=-1
for i in range(4):
for j in range(i+1, 4):
count+=1
k, l=tuple(set(range(4))-set([i, j]))
barr=numpy.array([numpy.logical_not(b[k]|b[l]) for b in cb]) #numpy.logical_xor(b[i], b[j])&
if not numpy.any(barr):
continue
cmps=comps[barr]
inds=numpy.argsort(cmps[:, j])
cmps=cmps[inds]
cols=self.stpq.rgb_comp(cmps)
ys=fom[barr][inds]
for count2, (c, col, y) in enumerate(zip(cmps, cols, ys)):
if count2==len(ys)//2:
self.ax.plot(c[j], y, marker=ms[count], c=col, markeredgecolor=col, label='%s,%s' %(self.ellabels[i], self.ellabels[j]), **kwargs)
else:
self.ax.plot(c[j], y, marker=ms[count], c=col, markeredgecolor=col, **kwargs)
#self.ax.plot(c[j], y, marker=ms[count], c=col, markeredgecolor='None')
for count3, (c1, col1, y1, c2, col2, y2) in enumerate(zip(cmps[:-1], cols[:-1], ys[:-1], cmps[1:], cols[1:], ys[1:])):
col=numpy.array([col1, col2]).mean(axis=0)
self.ax.plot([c1[j], c2[j]], [y1, y2], '-', c=col, **kwargs)
def binarylineslegend(self, **kwargs):
try:
self.ax.legend(**kwargs)
except:
pass
示例2: plotbinarylines_axandinset
# 需要导入模块: from myquaternaryutility import QuaternaryPlot [as 别名]
# 或者: from myquaternaryutility.QuaternaryPlot import line [as 别名]
def plotbinarylines_axandinset(ellabels=['A', 'B', 'C', 'D'], fig=None, mainax=[.3, .12, .6, .83], insetax=[0, .7, .2, .3], numcomppts=21, view_azim=-159, view_elev=30, **kwargs):
if fig is None:
fig=pylab.figure(figsize=(8, 5))
ax=fig.add_axes(mainax)
ax2=fig.add_axes(insetax, projection='3d')
stpq=QuaternaryPlot(ax2, ellabels=ellabels)
comppairs=[]
a=numpy.linspace(0, 1, 21)
count=-1
for i in range(4):
for j in range(i+1, 4):
count+=1
b=numpy.zeros((numcomppts, 4), dtype='float64')
b[:, i]=a
b[:, j]=1.-a
comppairs+=[(c1, c2) for c1, c2 in zip(b[:-1], b[1:])]
for (c1, c2) in comppairs:
stpq.line(c1, c2, fmt='-', c=stpq.rgb_comp([(c1+c2)/2.])[0], **kwargs)
stpq.set_projection(azim=view_azim, elev=view_elev)
stpq.label()
return ax, ax2
示例3: len
# 需要导入模块: from myquaternaryutility import QuaternaryPlot [as 别名]
# 或者: from myquaternaryutility.QuaternaryPlot import line [as 别名]
q.scatter(comps, c=comps[:, 3])
q.label(ha="center", va="center", fontsize=16)
q.set_projection(azim=-17, elev=-6)
inds, distfromplane, xyparr, xyp_verts, intriangle = q2.filterbydistancefromplane(
comps, compvert0, compvert1, compvert2, critdist, withintriangle=withintriangle, invlogic=False, returnall=True
)
indsnot = q2.filterbydistancefromplane(
comps, compvert0, compvert1, compvert2, critdist, withintriangle=withintriangle, invlogic=True
)
print len(inds), " points"
q2.scatter(comps[inds], c=comps[inds, 3])
q2.scatter(comps[indsnot], c="grey", marker=".", s=5)
q2.line(compvert0, compvert1)
q2.line(compvert1, compvert2)
q2.line(compvert2, compvert0)
q2.label(ha="center", va="center", fontsize=16)
q2.set_projection(azim=-17, elev=-6)
pylab.figure()
ax = pylab.subplot(111)
q2.plotfominselectedplane(
ax, xyparr[inds], comps[inds, -1], xyp_verts=xyp_verts, vertcomps_labels=[compvert0, compvert1, compvert2], s=20
)
示例4:
# 需要导入模块: from myquaternaryutility import QuaternaryPlot [as 别名]
# 或者: from myquaternaryutility.QuaternaryPlot import line [as 别名]
invertbool=0
if calctype==0:
selectinds, distfromlin, lineparameter=quatx.filterbydistancefromline(compsall[code0inds], compverts[0], compverts[1], critdist, betweenpoints=betweenbool, invlogic=invertbool, returnall=True)
lineparameter=lineparameter[selectinds]
elif calctype==1:
selectinds, distfromplane, xyparr, xyp_verts,intriangle=quatx.filterbydistancefromplane(compsall[code0inds], compverts[0], compverts[1], compverts[2], critdist, withintriangle=betweenbool, invlogic=invertbool, returnall=True)
xyparr=xyparr[selectinds]
fomselectx=fomall[code0inds][selectinds]
compsselectx=compsall[code0inds][selectinds]
xsecfig=pylab.figure()
xsecax=pylab.subplot(111)
if calctype==0:
quatx.line(compverts[0], compverts[1])
quatx.plotfomalonglineparameter(xsecax, lineparameter, fomselectx, compend1=compverts[0], compend2=compverts[1], lineparticks=numpy.linspace(0, 1, 4), ls='none', marker='.')
elif calctype==1:
quatx.plotfominselectedplane(xsecax, xyparr, fomselectx, xyp_verts=xyp_verts, vertcomps_labels=[compverts[0], compverts[1], compverts[2]], s=20, edgecolor='none', cmap=cmap, norm=norm)
quatx.line(compverts[0], compverts[1])
quatx.line(compverts[0], compverts[2])
quatx.line(compverts[2], compverts[1])
quatx.scatter(compsselectx, c=fomselectx, s=20, cmap=cmap, norm=norm, edgecolor='none')#vmin=vmin, vmax=vmax,
cb=quatxfig.colorbar(quatx.mappable, cax=cbax, extend=extend, cmap=cmap, norm=norm)
cb.set_label(fomlabel, fontsize=18)
quatx.set_projection(azim=view_azim, elev=view_elev)
if SYSTEM==1:
axbin.set_ylim(.23, .7)
if SYSTEM==6:
示例5:
# 需要导入模块: from myquaternaryutility import QuaternaryPlot [as 别名]
# 或者: from myquaternaryutility.QuaternaryPlot import line [as 别名]
pylab.figure()
#axq=pylab.subplot(111)
stpq=QuaternaryPlot(111, ellabels=ellabels)
comps=numpy.array([dropd[elkey] for elkey in elkeys]).T
selectinds, distfromlin, lineparameter=stpq.filterbydistancefromline(comps, compverts[0], compverts[1], critdist, betweenpoints=betweenbool, invlogic=invertbool, returnall=True)
dropd['lineparameter']=lineparameter
dropd['distfromlin']=distfromlin
lineparameter=lineparameter[selectinds]
cols=stpq.rgb_comp(comps[selectinds])
stpq.plotbycolor(comps[selectinds], cols, marker='o', markersize=5, alpha=.6)
stpq.line(compverts[0], compverts[1], lw=2)
#stpq.scatter(comps[selectinds], pointsize
stpq.set_projection(azim=view_azim, elev=view_elev)
stpq.label(fontsize=20)
pylab.savefig(os.path.join(savefolder, 'QuatPoints.png'))
pylab.figure()
for k, v in dropd.iteritems():
# if k in elkeys or k in ellabels or k in ['Sample', 'x(mm)', 'y(mm)', 'compositions']:
# continue
pylab.clf()
ax=pylab.subplot(111)
fomselect=v[selectinds]
stpq.plotfomalonglineparameter(ax, lineparameter, fomselect, compend1=compverts[0], compend2=compverts[1], lineparticks=numpy.linspace(0, 1, 5), ls='none', marker='.', ticklabelkwargdict=dict([('rotation', -20), ('horizontalalignment', 'left')]))
示例6: plot
# 需要导入模块: from myquaternaryutility import QuaternaryPlot [as 别名]
# 或者: from myquaternaryutility.QuaternaryPlot import line [as 别名]
#.........这里部分代码省略.........
if numpy.any(fom > self.vmax):
if numpy.any(fom < self.vmin):
extend = "both"
else:
extend = "max"
elif numpy.any(fom < self.vmin):
extend = "min"
else:
extend = "neither"
print "extend ", extend
i = self.ternskipComboBox.currentIndex()
inds = [j for j in range(4) if j != i][:3]
terncomps = numpy.array([c[inds] / c[inds].sum() for c in comps])
reordercomps = comps[:, inds + [i]]
reorderlabels = [self.ellabels[j] for j in inds + [i]]
fomselect = fom[self.selectinds]
compsselect = comps[self.selectinds]
reordercompsselect = reordercomps[self.selectinds]
fomlabel = self.dataclass.fomlabel
self.stackedternplotdict = dict(
[
("comps", reordercomps),
("fom", fom),
("cmap", cmap),
("norm", norm),
("ellabels", reorderlabels),
("fomlabel", fomlabel),
("extend", extend),
]
)
self.echem30_all.clearandplot(self.stackedternplotdict, cb=True, ellabels=reorderlabels)
print len(fomselect), " samples selected"
if len(fomselect) > 0:
self.stackedternplotdictselect = dict(
[
("comps", reordercompsselect),
("fom", fomselect),
("cmap", cmap),
("norm", norm),
("ellabels", reorderlabels),
("fomlabel", fomlabel),
("extend", extend),
]
)
self.echem30_select.clearandplot(self.stackedternplotdictselect, cb=True, ellabels=reorderlabels)
quat = QuaternaryPlot(self.plotw_quat.axes, ellabels=self.ellabels, offset=0)
quat.label()
quat.scatter(
compsselect, c=fomselect, s=s, cmap=cmap, norm=norm, edgecolor="none"
) # vmin=self.vmin, vmax=self.vmax,
cb = self.plotw_quat.fig.colorbar(
quat.mappable, cax=self.cbax_quat, extend=extend, format=autocolorbarformat((fom.min(), fom.max()))
)
cb.set_label(fomlabel, fontsize=18)
quat.set_projection(azim=azim, elev=elev)
if self.calctype == 0:
quat.line(self.compverts[0], self.compverts[1])
self.quatcalc.plotfomalonglineparameter(
self.plotw_tern.axes,
self.lineparameter,
fomselect,
compend1=self.compverts[0],
compend2=self.compverts[1],
lineparticks=numpy.linspace(0, 1, 4),
ls="none",
marker=".",
)
elif self.calctype == 1:
self.quatcalc.plotfominselectedplane(
self.plotw_tern.axes,
self.xyparr,
fomselect,
xyp_verts=self.xyp_verts,
vertcomps_labels=[self.compverts[0], self.compverts[1], self.compverts[2]],
s=20,
edgecolor="none",
cmap=cmap,
norm=norm,
)
quat.line(self.compverts[0], self.compverts[1])
quat.line(self.compverts[0], self.compverts[2])
quat.line(self.compverts[2], self.compverts[1])
cb = self.plotw_tern.fig.colorbar(
quat.mappable, cax=self.cbax_tern, extend=extend, format=autocolorbarformat((fom.min(), fom.max()))
)
cb.set_label(fomlabel, fontsize=18)
self.plotw_quat.axes.mouse_init()
self.plotw_quat.axes.set_axis_off()
self.plotw_tern.fig.canvas.draw()
self.plotw_quat.fig.canvas.draw()
示例7:
# 需要导入模块: from myquaternaryutility import QuaternaryPlot [as 别名]
# 或者: from myquaternaryutility.QuaternaryPlot import line [as 别名]
pylab.figure()
#axq=pylab.subplot(111)
stpqp=QuaternaryPlot(111, ellabels=ellabels)
selectinds, distfromplane, xyparr, xyp_verts,intriangle=stpqp.filterbydistancefromplane(comps, compvertsp[0], compvertsp[1], compvertsp[2], critdistp, withintriangle=betweenbool, invlogic=invertbool, returnall=True)
xyparr=xyparr[selectinds]
cols=stpqp.rgb_comp(comps[selectinds])
stpqp.plotbycolor(comps[selectinds], cols, marker='o', markersize=3, alpha=1)
stpqp.line(compvertsp[0], compvertsp[1], lw=2)
stpqp.line(compvertsp[2], compvertsp[1], lw=2)
stpqp.line(compvertsp[0], compvertsp[2], lw=2)
#stpqp.scatter(comps[selectinds], pointsize
stpqp.set_projection(azim=view_azim, elev=view_elev)
stpqp.label(fontsize=20)
pylab.savefig(os.path.join(savefolder, 'QuatPointsPlane.png'))
pylab.savefig(os.path.join(savefolder, 'QuatPointsPlane.eps'))
pylab.figure()
#axq=pylab.subplot(111)
stpql=QuaternaryPlot(111, ellabels=ellabels)
示例8: len
# 需要导入模块: from myquaternaryutility import QuaternaryPlot [as 别名]
# 或者: from myquaternaryutility.QuaternaryPlot import line [as 别名]
compend1=numpy.array([0.125, .125, .6, .15])
compend2=numpy.array([.2, .2, 0., .6])
critdist=.05
betweenpoints=False
q.scatter(comps,c=comps[:,3])
q.label(ha='center', va='center', fontsize=16)
q.set_projection(azim=-17, elev=-6)
inds, distfromlin, lineparameter=q2.filterbydistancefromline(comps, compend1, compend2, critdist, betweenpoints=betweenpoints, invlogic=False, returnall=True)
indsnot=q2.filterbydistancefromline(comps, compend1, compend2, critdist, betweenpoints=betweenpoints, invlogic=True)
print len(inds), ' points'
q2.scatter(comps[inds],c=comps[inds,3])
q2.scatter(comps[indsnot],c='grey', marker='.', s=5)
q2.line(compend1, compend2)
q2.label(ha='center', va='center', fontsize=16)
q2.set_projection(azim=-17, elev=-6)
pylab.figure()
lp=lineparameter[inds]
argsinds=numpy.argsort(lp)
pylab.plot(lp[argsinds], comps[inds,3][argsinds], 'b-')
pylab.plot(lp[argsinds], comps[inds,3][argsinds], 'bo')
ax=pylab.gca()
lineparticks=numpy.linspace(0, 1, 4)
tl=[]
for i in lineparticks:
示例9: range
# 需要导入模块: from myquaternaryutility import QuaternaryPlot [as 别名]
# 或者: from myquaternaryutility.QuaternaryPlot import line [as 别名]
q=QuaternaryPlot(111)
#define these to be modified for each end member
z=numpy.zeros(4, dtype='float64')
ctr3=numpy.ones(4, dtype='float64')/3.
endmembers=[]
lineendpairs=[]
#iterate over 4 end members and draw a line from there to center of opposing face, e.g. (0,.33,.33,.33)
for i in range(4):
a=copy.copy(z)
a[i]=1.
b=copy.copy(ctr3)
b[i]=0.
q.line(a, b, fmt='b-')
q.scatter([b], c='b', s=15)
endmembers+=[a]
lineendpairs+=[[a, b]]
#convert the end members and pairs of endpts to cartesian
xyz_lineendpairs=[numpy.array(q.toCart(ls)).T for ls in lineendpairs]
xyz_endmembers=numpy.array(q.toCart(endmembers)).T
#choose the composition of a phase and draw the trivial phase field lines
phcomp=numpy.array([.1, .3, .2, .4])
q.scatter([phcomp], c='r', s=20)
for i in range(4):
a=copy.copy(z)
a[i]=1.
q.line(a, phcomp, fmt='r-')