我们从Python开源项目中,提取了以下15个代码示例,用于说明如何使用matplotlib.lines()。
def _ts_plot(cls, ax, x, data, style=None, **kwds): from pandas.tseries.plotting import (_maybe_resample, _decorate_axes, format_dateaxis) # accept x to be consistent with normal plot func, # x is not passed to tsplot as it uses data.index as x coordinate # column_num must be in kwds for stacking purpose freq, data = _maybe_resample(data, ax, kwds) # Set ax with freq info _decorate_axes(ax, freq, kwds) # digging deeper if hasattr(ax, 'left_ax'): _decorate_axes(ax.left_ax, freq, kwds) if hasattr(ax, 'right_ax'): _decorate_axes(ax.right_ax, freq, kwds) ax._plot_data.append((data, cls._kind, kwds)) lines = cls._plot(ax, data.index, data.values, style=style, **kwds) # set date formatter, locators and rescale limits format_dateaxis(ax, ax.freq) return lines
def _plot(cls, ax, y, style=None, bw_method=None, ind=None, column_num=None, stacking_id=None, **kwds): from scipy.stats import gaussian_kde from scipy import __version__ as spv y = remove_na(y) if LooseVersion(spv) >= '0.11.0': gkde = gaussian_kde(y, bw_method=bw_method) else: gkde = gaussian_kde(y) if bw_method is not None: msg = ('bw_method was added in Scipy 0.11.0.' + ' Scipy version in use is %s.' % spv) warnings.warn(msg) y = gkde.evaluate(ind) lines = MPLPlot._plot(ax, ind, y, style=style, **kwds) return lines
def _plot(cls, ax, y, column_num=None, return_type=None, **kwds): if y.ndim == 2: y = [remove_na(v) for v in y] # Boxplot fails with empty arrays, so need to add a NaN # if any cols are empty # GH 8181 y = [v if v.size > 0 else np.array([np.nan]) for v in y] else: y = remove_na(y) bp = ax.boxplot(y, **kwds) if return_type == 'dict': return bp, bp elif return_type == 'both': return cls.BP(ax=ax, lines=bp), bp else: return ax, bp
def _plot_lines(frame, x_col, y_col, ax, grp_col, colordict, cat_col, styledict): # plot the lines, one for each model group, # looking up the color by model type from above for grp_val in np.unique(frame[grp_col]): df = frame.loc[frame[grp_col] == grp_val] cat = df.iloc[0][cat_col] df.plot(x_col, y_col, ax=ax, c=colordict[cat], style=styledict[cat], legend=False)
def _draw_frame(self, iframe): """Draws the latest frame for each sensor on the relevant plot. """ for sensor in self._plotorder: #First, we get the latest data point from the live feed. ldata = self.livefeed.read_data(sensor) if len(ldata) < 2: # pragma: no cover #We don't have anything reasonable to plot; exit gracefully. continue t = ldata[0] self.ts[sensor].append(t) for vindex in self._vindices[sensor]: self.ys[(sensor, vindex)].append(ldata[vindex]) ts, ys = self.ts[sensor], self.ys[(sensor, vindex)] self.lines[(sensor, vindex)].set_data(ts, ys) if t > self.window: # pragma: no cover # We don't want the tests to run long enough for this window to # kick in (at least for the moment). self.axes[sensor].set_xlim((self.ts[sensor][0], t + 2.5)) self.axes[sensor].relim() # reset intern limits of the current axes self.axes[sensor].autoscale_view() # reset axes limits self._drawn_artists = self.lines.values() if self.testmode: self._timer = Timer(self.interval, self._draw_frame, (0,)) self._timer.start()
def _init_draw(self): """Initializes all the subplot line objects to be empty.""" for l in self.lines.values(): l.set_data([], [])
def _get_marker_compat(marker): import matplotlib.lines as mlines import matplotlib as mpl if mpl.__version__ < '1.1.0' and marker == '.': return 'o' if marker not in mlines.lineMarkers: return 'o' return marker
def _has_plotted_object(self, ax): """check whether ax has data""" return (len(ax.lines) != 0 or len(ax.artists) != 0 or len(ax.containers) != 0)
def _make_plot(self): if self._is_ts_plot(): from pandas.tseries.plotting import _maybe_convert_index data = _maybe_convert_index(self._get_ax(0), self.data) x = data.index # dummy, not used plotf = self._ts_plot it = self._iter_data(data=data, keep_index=True) else: x = self._get_xticks(convert_period=True) plotf = self._plot it = self._iter_data() stacking_id = self._get_stacking_id() is_errorbar = any(e is not None for e in self.errors.values()) colors = self._get_colors() for i, (label, y) in enumerate(it): ax = self._get_ax(i) kwds = self.kwds.copy() style, kwds = self._apply_style_colors(colors, kwds, i, label) errors = self._get_errorbars(label=label, index=i) kwds = dict(kwds, **errors) label = com.pprint_thing(label) # .encode('utf-8') kwds['label'] = label newlines = plotf(ax, x, y, style=style, column_num=i, stacking_id=stacking_id, is_errorbar=is_errorbar, **kwds) self._add_legend_handle(newlines[0], label, index=i) lines = _get_all_lines(ax) left, right = _get_xlim(lines) ax.set_xlim(left, right)
def _plot(cls, ax, x, y, style=None, column_num=None, stacking_id=None, **kwds): # column_num is used to get the target column from protf in line and # area plots if column_num == 0: cls._initialize_stacker(ax, stacking_id, len(y)) y_values = cls._get_stacked_values(ax, stacking_id, y, kwds['label']) lines = MPLPlot._plot(ax, x, y_values, style=style, **kwds) cls._update_stacker(ax, stacking_id, y) return lines
def _get_all_lines(ax): lines = ax.get_lines() if hasattr(ax, 'right_ax'): lines += ax.right_ax.get_lines() if hasattr(ax, 'left_ax'): lines += ax.left_ax.get_lines() return lines
def _get_xlim(lines): left, right = np.inf, -np.inf for l in lines: x = l.get_xdata(orig=False) left = min(x[0], left) right = max(x[-1], right) return left, right
def graphAllMetrics(titles, moduleMeasurements, title): cmap = plt.get_cmap('gnuplot') colors = [cmap(i) for i in np.linspace(0, 1, len(titles))] for i,color in enumerate(colors, start=0): plt.plot(moduleMeasurements[0],moduleMeasurements[i+1],c=color,label=titles[i],linestyle='-') plt.xlabel('Time') plt.ylabel('Score') plt.title(title) # TODO: # Make lines instead of points for legibility # Add legend plt.legend(loc='best') plt.show(1)
def __init__(self, points, line, linedata): if isinstance(points, matplotlib.lines.Line2D): suffix = "pts" else: suffix = None self.dict_ = {"type": "linkedview", "idpts": utils.get_id(points, suffix), "idline": utils.get_id(line), "data": linedata}
def plot_costs(case, number_of_segments=1, ax=None, legend=True): if ax is None: fig, axs = plt.subplots(1, 1, figsize=(16, 10)) ax = axs color_scale = make_interpolater(0, len(case.gen_name), 0, 1) color = {g: plt.cm.jet(color_scale(i)) for i, g in enumerate(case.gen_name)} for s in calculate_segments(case, number_of_segments=number_of_segments): pmin, pmax = s['segment'] x = np.linspace(pmin, pmax) y = x * s['slope'] ax.plot(x, y, color=color[s['name']]) ax = ax.twinx() for s in calculate_segments(case, number_of_segments=number_of_segments): pmin, pmax = s['segment'] x = np.linspace(pmin, pmax) y = [s['slope'] for _ in x] ax.plot(x, y, color=color[s['name']]) ax.set_ylim(0, 1.2*y[-1]) if legend: lines = list() for g in case.gen_name: lines.append(mlines.Line2D([], [], color=color[g], label=g)) ax.legend(handles=lines, loc='upper left') return ax