本文整理汇总了Python中SVGdraw.link方法的典型用法代码示例。如果您正苦于以下问题:Python SVGdraw.link方法的具体用法?Python SVGdraw.link怎么用?Python SVGdraw.link使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SVGdraw
的用法示例。
在下文中一共展示了SVGdraw.link方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: build
# 需要导入模块: import SVGdraw [as 别名]
# 或者: from SVGdraw import link [as 别名]
def build(self):
(sx, sy) = self._srcchgset.position()
h_offset = self._srcchgset.tag_offset(self._h)
self._position = (sx + (self._srcchgset.extent()[0])/2,
sy - (3*self._h)/2 + h_offset)
x = self._position[0]+(self._w-self._tw)/2
y = self._position[1]
r = UNIT/2
rect = SVG.rect(x,y,self._tw,self._h,
self._srcchgset.strokecolor(),
self._srcchgset.fillcolor(),
self._srcchgset.strokewidth())
rect.attributes['rx'] = r
rect.attributes['ry'] = r
rect.attributes['opacity'] = str(self._opacity/100.0)
text = SVG.text(self._position[0]+self._w/2,
self._position[1]+self._h/2+UNIT/4,
"%s" % self._title.encode('utf-8'),
self._srcchgset.fontsize(),
self._srcchgset.fontname())
txc = SvgColor('white')
text.attributes['style'] = 'fill:%s; text-anchor: middle' % txc.rgb()
name = self._title.encode('utf-8').replace('/','')
g = SVG.group('grp%d' % self._revision, elements=[rect, text])
link = "%s/changeset/%d" % (self._parent.urlbase(), self._revision)
self._link = SVG.link(link, elements=[g])
self._link.attributes['id'] = 'rev%d' % self._revision
self._link.attributes['style'] = \
'color: %s; background-color: %s' % \
(self._srcchgset.fillcolor(), self._srcchgset.strokecolor())
示例2: build
# 需要导入模块: import SVGdraw [as 别名]
# 或者: from SVGdraw import link [as 别名]
def build(self):
self._position = self._parent.position()
x = self._position[0]+(self._w-self._tw)/2
y = self._position[1]
r = UNIT/2
rect = SVG.rect(x,y,self._tw,self._h,
self._parent.fillcolor(),
self._parent.strokecolor(),
self._parent.strokewidth())
rect.attributes['rx'] = r
rect.attributes['ry'] = r
text = SVG.text(self._position[0]++self._w/2,
self._position[1]+self._h/2+UNIT/6,
"/%s" % self._title.encode('utf-8'),
self._parent.fontsize(), self._parent.fontname())
text.attributes['style'] = 'text-anchor: middle'
name = self._title.encode('utf-8').replace('/','')
g = SVG.group('grp%s' % name, elements=[rect, text])
href = Href(self._parent.urlbase())
self._link = SVG.link(plink(href.browser(self._title)), elements=[g])
示例3: getElements
# 需要导入模块: import SVGdraw [as 别名]
# 或者: from SVGdraw import link [as 别名]
def getElements( self, node_id, x, y, x_label = None, y_label = None):
e = NodeDecorator.getElements( self, node_id, x, y )
if x_label == None: x_label = x
if y_label == None: y_label = y
t = self.mTree.node(node_id).data.taxon
species = self.mExtractSpecies(t)
if species not in self.mMapSpecies2Colour:
self.mMapSpecies2Colour[species] = COLOURS[len(self.mMapSpecies2Colour) % len(COLOURS) ]
if species in self.mMapSpecies2Name:
tx = re.sub( species, "%s" % self.mMapSpecies2Name[species], t)
else:
tx = t
colour = self.getColour( node_id, x, y )
if self.mPlotLabel:
ee = SVGdraw.text( x_label, y_label,
tx,
self.mFontSize,
self.mFont,
stroke = "rgb(%i,%i,%i)" % colour,
text_anchor = "left" )
if self.mMapTaxon2URL != None:
url = self.mMapTaxon2URL(t)
if url:
l = SVGdraw.link( url )
l.addElement( ee )
e.append( l )
else:
e.append(ee)
else:
e.append( ee )
return e
示例4: addDuplication
# 需要导入模块: import SVGdraw [as 别名]
# 或者: from SVGdraw import link [as 别名]
def addDuplication( self, entries, map_gene2pos, height,
url = None,
with_separator=True,
link_to_previous = False,
quality2symbol = {},
quality2mask = {}):
"""add a dot in row/col."""
mi, ma = None, 0
pos = bisect.bisect( self.mColourThresholds, height )
master_colour = self.mColours[pos]
chrs = {}
points = []
if not link_to_previous:
self.mPreviousPoints = {}
########################################################
########################################################
########################################################
## convert gene list to a set of points
########################################################
for species, transcript, gene, quality in entries:
chr, strand, first_res, last_res = map_gene2pos[gene]
chrs[chr] = 1
pos1 = self.getPosition( chr, strand, first_res )
pos2 = self.getPosition( chr, strand, last_res )
a = min( pos1, pos2 )
b = max( pos1, pos2 )
if mi == None:
mi = a
else:
mi = min(a, mi)
ma = max(b, ma)
points.append( (pos1, pos2, gene, quality, chr) )
########################################################
########################################################
########################################################
## decide whether we need to increment the radius
########################################################
cis = len(chrs) == 1
old_radius = self.mRadius
is_overlap = False
if cis:
if not self.mLastChr:
self.mLastChr = chr
if chr != self.mLastChr:
self.mRadius = self.mRadiusFallBack
self.mLastMax = ma
self.mPreviousMax = ma
self.mLastChr = chr
else:
if self.mPreviousMax + self.mMinDistance > mi:
## overlap due to close proximitiy
self.mRadius += self.mRadiusIncrement
if with_separator: self.addSeparator()
## true overlap
if self.mPreviousMax > mi:
is_overlap = True
elif self.mLastMax + self.mMinDistance > mi:
pass
else:
self.mRadius = self.mRadiusFallBack
self.mLastMax = max(self.mLastMax, ma)
else:
if self.mLastMax > mi:
self.mRadius += self.mRadiusIncrement
if with_separator: self.addSeparator()
self.mPreviousMin = mi
self.mPreviousMax = ma
self.mPreviousCis = cis
self.mRadiusMax = max(self.mRadius, self.mRadiusMax)
########################################################
########################################################
########################################################
## draw points
########################################################
link_colour = master_colour
link_rad_width = self.mLinkRadStrokeWidth
link_arc_width = self.mLinkArcStrokeWidth
new_points = {}
for pos1, pos2, gene, quality, chr in points:
angle = self.getAngle( (pos1 + pos2) / 2 )
#.........这里部分代码省略.........