Re: [igraph] how to plot degree distribution, please?
You have imported plot() from Matplotlib, not from igraph. You need to import igraph's plot() function: >>> from igraph import plot >>> plot(dd).show() T. On Sun, Sep 18, 2016 at 10:15 AM, 四正(红砖) <sizheng0...@qq.com> wrote: > > Thank you for your reply, Tamas. But when I use plot(dd), I got a type > error: > > BTW, i'm using python 3.5.1 > > --- > TypeError Traceback (most recent call last) > in () > 1 dd = g.degree_distribution() > > 2 plot(dd).show() > > /usr/local/lib/python3.5/site-packages/matplotlib/pyplot.py in plot(*args, > **kwargs) >3152 ax.hold(hold) >3153 try: > -> 3154 ret = ax.plot(*args, **kwargs) >3155 finally: >3156 ax.hold(washold) > > /usr/local/lib/python3.5/site-packages/matplotlib/__init__.py in inner(ax, > *args, **kwargs) >1809 warnings.warn(msg % (label_namer, > func.__name__), >1810 RuntimeWarning, stacklevel=2) > -> 1811 return func(ax, *args, **kwargs) >1812 pre_doc = inner.__doc__ >1813 if pre_doc is None: > > /usr/local/lib/python3.5/site-packages/matplotlib/axes/_axes.py in > plot(self, *args, **kwargs) >1426 >1427 for line in self._get_lines(*args, **kwargs): > -> 1428 self.add_line(line) >1429 lines.append(line) >1430 > > /usr/local/lib/python3.5/site-packages/matplotlib/axes/_base.py in > add_line(self, line) >1697 line.set_clip_path(self.patch) >1698 > -> 1699 self._update_line_limits(line) >1700 if not line.get_label(): >1701 line.set_label('_line%d' % len(self.lines)) > > /usr/local/lib/python3.5/site-packages/matplotlib/axes/_base.py in > _update_line_limits(self, line) >1708 Figures out the data limit of the given line, updating > self.dataLim. >1709 """ > -> 1710 path = line.get_path() >1711 if path.vertices.size == 0: >1712 return > > /usr/local/lib/python3.5/site-packages/matplotlib/lines.py in get_path(self) > 924 """ > 925 if self._invalidy or self._invalidx: > --> 926 self.recache() > 927 return self._path > 928 > > /usr/local/lib/python3.5/site-packages/matplotlib/lines.py in recache(self, > always) > 618 y = ma.asarray(yconv, np.float_).filled(np.nan) > 619 else: > --> 620 y = np.asarray(yconv, np.float_) > 621 y = y.ravel() > 622 else: > > /usr/local/lib/python3.5/site-packages/numpy/core/numeric.py in asarray(a, > dtype, order) > 472 > 473 """ > --> 474 return array(a, dtype, copy=False, order=order) > 475 > 476 def asanyarray(a, dtype=None, order=None): > > TypeError: float() argument must be a string or a number, not 'Histogram' > > > -- Original -- > From: "Tamas Nepusz";<nta...@rmki.kfki.hu>; > Date: Sun, Sep 18, 2016 03:45 AM > To: "Help for igraph users"<igraph-help@nongnu.org>; > Subject: Re: [igraph] how to plot degree distribution, please? > >> dd = g.degree_distribution() >> dd.__plot__("dd",(800,800),None) > > __plot__ is an internal function; you are not supposed to call it > directly. Call the plot() function instead: > >>>> dd = g.degree_distribution() >>>> plot(dd) > > or, if the plot is not shown automatically, then: > >>>> plot(dd).show() > > T. > > ___ > igraph-help mailing list > igraph-help@nongnu.org > https://lists.nongnu.org/mailman/listinfo/igraph-help > > ___ > igraph-help mailing list > igraph-help@nongnu.org > https://lists.nongnu.org/mailman/listinfo/igraph-help > ___ igraph-help mailing list igraph-help@nongnu.org https://lists.nongnu.org/mailman/listinfo/igraph-help
Re: [igraph] how to plot degree distribution, please?
Thank you for your reply, Tamas. But when I use plot(dd), I got a type error: BTW, i'm using python 3.5.1 --- TypeError Traceback (most recent call last) in () 1 dd = g.degree_distribution() > 2 plot(dd).show() /usr/local/lib/python3.5/site-packages/matplotlib/pyplot.py in plot(*args, **kwargs)3152 ax.hold(hold)3153 try: -> 3154 ret = ax.plot(*args, **kwargs)3155 finally:3156 ax.hold(washold) /usr/local/lib/python3.5/site-packages/matplotlib/__init__.py in inner(ax, *args, **kwargs)1809 warnings.warn(msg % (label_namer, func.__name__),1810 RuntimeWarning, stacklevel=2) -> 1811 return func(ax, *args, **kwargs)1812 pre_doc = inner.__doc__1813 if pre_doc is None: /usr/local/lib/python3.5/site-packages/matplotlib/axes/_axes.py in plot(self, *args, **kwargs)1426 1427 for line in self._get_lines(*args, **kwargs): -> 1428 self.add_line(line)1429 lines.append(line)1430 /usr/local/lib/python3.5/site-packages/matplotlib/axes/_base.py in add_line(self, line)1697 line.set_clip_path(self.patch)1698 -> 1699 self._update_line_limits(line)1700 if not line.get_label():1701 line.set_label('_line%d' % len(self.lines)) /usr/local/lib/python3.5/site-packages/matplotlib/axes/_base.py in _update_line_limits(self, line)1708 Figures out the data limit of the given line, updating self.dataLim.1709 """ -> 1710 path = line.get_path()1711 if path.vertices.size == 0:1712 return /usr/local/lib/python3.5/site-packages/matplotlib/lines.py in get_path(self) 924 """ 925 if self._invalidy or self._invalidx: --> 926 self.recache() 927 return self._path 928 /usr/local/lib/python3.5/site-packages/matplotlib/lines.py in recache(self, always) 618 y = ma.asarray(yconv, np.float_).filled(np.nan) 619 else: --> 620 y = np.asarray(yconv, np.float_) 621 y = y.ravel() 622 else: /usr/local/lib/python3.5/site-packages/numpy/core/numeric.py in asarray(a, dtype, order) 472 473 """ --> 474 return array(a, dtype, copy=False, order=order) 475 476 def asanyarray(a, dtype=None, order=None): TypeError: float() argument must be a string or a number, not 'Histogram' -- Original -- From: "Tamas Nepusz";<nta...@rmki.kfki.hu>; Date: Sun, Sep 18, 2016 03:45 AM To: "Help for igraph users"<igraph-help@nongnu.org>; Subject: Re: [igraph] how to plot degree distribution, please? > dd = g.degree_distribution() > dd.__plot__("dd",(800,800),None) __plot__ is an internal function; you are not supposed to call it directly. Call the plot() function instead: >>> dd = g.degree_distribution() >>> plot(dd) or, if the plot is not shown automatically, then: >>> plot(dd).show() T. ___ igraph-help mailing list igraph-help@nongnu.org https://lists.nongnu.org/mailman/listinfo/igraph-help___ igraph-help mailing list igraph-help@nongnu.org https://lists.nongnu.org/mailman/listinfo/igraph-help
Re: [igraph] how to plot degree distribution, please?
> dd = g.degree_distribution() > dd.__plot__("dd",(800,800),None) __plot__ is an internal function; you are not supposed to call it directly. Call the plot() function instead: >>> dd = g.degree_distribution() >>> plot(dd) or, if the plot is not shown automatically, then: >>> plot(dd).show() T. ___ igraph-help mailing list igraph-help@nongnu.org https://lists.nongnu.org/mailman/listinfo/igraph-help