You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1
(1) |
2
|
3
|
4
|
5
(10) |
6
|
7
(3) |
8
(5) |
9
|
10
(3) |
11
(1) |
12
(16) |
13
(1) |
14
|
15
(5) |
16
(5) |
17
(4) |
18
(2) |
19
(9) |
20
(4) |
21
(2) |
22
|
23
(1) |
24
|
25
(4) |
26
(6) |
27
(9) |
28
(1) |
29
(2) |
30
|
|
|
|
|
|
On 2014年06月18日, 5:23 AM, Bruno Pace wrote: > Ok, so using the norm=SymLogNorm I cannot distinguish the values that > are exactly 0.0 from the really small ones, right? Would it be possible Correct, the scale is linear for small values. > to make use of the set_bad method without having to use masked arrays, > just combining the SymLogNorm and the set_bad? No, the mask is what identifies a point as bad. If you want to distinguish zero from non-zero, no matter how small, then this is the way to do it. zm = np.ma.masked_equal(z, 0, copy=False) Now you have a masked array where the points that are exactly zero are masked. The bad color won't show up on the colorbar, however. There is no suitable place for it. It can show only the range from vmin to vmax, and a "set_over" color for values greater than vmax, and a "set_under" color for values less than vmin. Eric
/usr/lib64/python2.7/site-packages/matplotlib/tight_layout.py:225: UserWarning: tight_layout : falling back to Agg renderer warnings.warn("tight_layout : falling back to Agg renderer") Traceback (most recent call last): File "./plot_stuff2.py", line 10, in <module> plt.tight_layout() File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 1255, in tight_layout fig.tight_layout(pad=pad, h_pad=h_pad, w_pad=w_pad, rect=rect) File "/usr/lib64/python2.7/site-packages/matplotlib/figure.py", line 1605, in tight_layout rect=rect) File "/usr/lib64/python2.7/site-packages/matplotlib/tight_layout.py", line 325, in get_tight_layout_figure max_nrows = max(nrows_list) ValueError: max() arg is an empty sequence The plotting script is quite long and complex, so I won't post it, but it begins: #!/usr/bin/python import matplotlib as mpl mpl.use ('pdf') import matplotlib.pyplot as plt plt.tight_layout() It produces multipage-pdf using from matplotlib.backends.backend_pdf import PdfPages It works without plt.tight_layout(). Any clues what I did wrong here?
So do you want to find the particular row or column to plot interactively? For that you should look at "Event handling and picking" in the matplotlib docs (http://matplotlib.org/users/event_handling.html). It shows there how to return the values of the location of mouse click events. Once you have either the x or y value then you could find the values in your array that correspond to that and plot them. Or is how to do the latter your question? For more involved data exploration, you might want to look into glue ( www.glueviz.org). Jon On Thu, Jun 19, 2014 at 4:27 AM, < mat...@li...> wrote: > From: dydy2014 <dya...@gm...> > To: mat...@li... > Cc: > Date: 2014年6月18日 17:56:21 -0700 (PDT) > Subject: Re: [Matplotlib-users] Pick a particular data from array > Thank you Paul for your comment, but what I need not just put a line in the > contour. > I want to pick value along the red line, so which the data that placed on > the red line. > Then I will plot it in the other type of plot. > -- ________________________________________________________ Jonathan D. Slavin Harvard-Smithsonian CfA js...@cf... 60 Garden Street, MS 83 phone: (617) 496-7981 Cambridge, MA 02138-1516 fax: (617) 496-7577 USA ________________________________________________________
Dear all could some expert can help me. I have modify from one demo. but i do not how to change the x_lable to time like H:M:S, and can move it. i have try some way, but failed. hope some expert can do me a favor. thanks a lot ###################### # coding=utf-8 import os import pprint import random, time import sys from PyQt4 import QtGui, QtCore from threading import * import time import datetime import matplotlib matplotlib.use('WXAgg') from matplotlib.figure import Figure from matplotlib.backends.backend_qt4agg import \ FigureCanvasQTAgg as FigCanvas, \ NavigationToolbar2QT as NavigationToolbar import numpy as np import pylab class DataGen(object): """ A silly class that generates pseudo-random data for display in the plot. """ def __init__(self, init=50): self.data = self.init = init def next(self): self._recalc_data() return self.data def _recalc_data(self): delta = random.uniform(-0.5, 0.5) r = random.random() if r > 0.9: self.data += delta * 15 elif r > 0.8: # attraction to the initial value delta += (0.5 if self.init > self.data else -0.5) self.data += delta else: self.data += delta class myThing(): class myThread(Thread): def __init__(self): Thread.__init__(self) self.running = True self.vec = [0] self.dg = DataGen() print "Initializing myThread..." def run(self): print "Running myThread..." while self.running: time.sleep(1) self.vec.append(self.dg.next()) print "Splat" def getVec(self): return self.vec def stop(self): self.running = False def __init__(self): self.theThread = self.myThread() self.threadRunning = True print "initializing myThing..." self.theThread.start() def __del__(self): self.theThread.stop() def getVec(self): #print self.theThread.vec[:] return self.theThread.vec[:] class ApplicationWindow(QtGui.QMainWindow): """ The main window of the application """ def __init__(self): QtGui.QMainWindow.__init__(self) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.setWindowTitle('Demo: dynamic matplotlib graph') self.thing1 = myThing() self.thing2 = myThing() self.starttime = int(time.time()) self.create_menu() #self.create_status_bar() self.create_main_panel() self.redraw_timer = QtCore.QTimer(self) QtCore.QObject.connect(self.redraw_timer, QtCore.SIGNAL("timeout()"), self.on_redraw_timer) self.redraw_timer.start(4000) def create_menu(self): menu_file = QtGui.QMenu("&File", self) #menu_file.addAction(u'&Save plot', self.on_save_plot, # QtCore.Qt.CTRL + QtCore.Qt.Key_S) menu_file.addSeparator() menu_file.addAction(u'E&xit', self.on_exit, QtCore.Qt.CTRL + QtCore.Qt.Key_X) self.menuBar().addMenu(menu_file) def create_main_panel(self): self.panel = QtGui.QFrame(self) self.setCentralWidget(self.panel) self.init_plot() self.canvas = FigCanvas(self.fig) self.canvas.setMinimumHeight(150) #self.toolbar = NavigationToolbar(self.canvas, None) self.vbox = QtGui.QVBoxLayout() self.vbox.addWidget(self.canvas) self.panel.setLayout(self.vbox) #self.vbox.Fit(self) self.unit = 20 width, height = self.geometry().width(), self.geometry().height() self.show() def init_plot(self): self.dpi = 100 self.fig = Figure((5.0, 3.0), dpi=self.dpi) self.axes = self.fig.add_subplot(111, navigate=False) self.axes.set_axis_bgcolor('black') self.axes.set_title('Very important random data', size=10) self.axes.set_xlabel('Time flies like an arrow',size=10) self.axes.set_ylabel('Random is just random',size=10) pylab.setp(self.axes.get_xticklabels(), fontsize=8) pylab.setp(self.axes.get_yticklabels(), fontsize=8) self.plot_data = self.axes.plot( self.thing1.getVec(), linewidth=0.5, color=(1, 1, 0), #marker='o', label="set1", )[0] print self.thing1.getVec(), "<<>>" self.plot_data2 = self.axes.plot( self.thing2.getVec(), linewidth=1, dashes=[.2, .4], color=(0, 1, 1), label="set2", )[0] def draw_plot(self): """ Redraws the plot """ self.data = self.thing1.getVec() self.data2 = self.thing2.getVec() def do_cal(urdata): newdata = [] for x in range(len(urdata)): urtime = x + self.starttime newdata.append(urtime) return newdata xmax = len(self.data) if len(self.data) > 50 else 50 xmin = xmax - 50 min1 = min(self.data) min2 = min(self.data2) theMin = min(min1, min2) ymin = round(theMin, 0) - 1 max1 = max(self.data) max2 = max(self.data2) theMax = max(max1, max2) ymax = round(theMax, 0) + 1 self.axes.set_xbound(lower=xmin, upper=xmax) self.axes.set_ybound(lower=ymin, upper=ymax) self.axes.grid(True, color='gray') pylab.setp(self.axes.get_xticklabels(), visible=True) self.plot_data.set_xdata(np.arange(len(self.data))) self.plot_data.set_ydata(np.array(self.data)) self.plot_data2.set_xdata(np.arange(len(self.data2))) #self.plot_data2.set_xdata(np.array(newdata2)) self.plot_data2.set_ydata(np.array(self.data2)) self.canvas.draw() def on_redraw_timer(self): self.draw_plot() def on_exit(self): self.close() def closeEvent(self, event): for thing in (self.thing1, self.thing2): thing.theThread.stop() thing.theThread.join() if __name__ == '__main__': app = QtGui.QApplication(sys.argv) aw = ApplicationWindow() aw.show() sys.exit(app.exec_()) ################################# [image: 内嵌图片 1]
thanksfor ur reply. after i send this mail . i have trie annotate, and make it works. if have good style, hope all of u can share it. ############ for i in range(len(ls)): circle_ls.append(pie(ax, ls[i], radius=r_len-width*i, pctdistance=1-width/2, **kwargs)) ax.annotate('test0' + str(i), xy=(0.1,0.5-i * 0.2),xytext=(0.6,0.5-i * 0.2),arrowprops=dict(arrowstyle="->",connectionstyle="arc3")) ############ [image: 内嵌图片 1] 2014年06月19日 18:30 GMT+07:00 Mike Kaufman <mc...@gm...>: > use annotate() > > > http://matplotlib.org/users/annotations_guide.html#plotting-guide-annotation > > M > > On 6/19/14, 12:27 AM, 不坏阿峰 wrote: > > thanks to Joe Kington > > <‘s" rel=nofollow>https://plus.google.com/u/0/115087865729901776991?prsrc=4>‘s help, i > > got this pie donuts > > i have modified code to generate pie base one the Num of list. > > but i do not know how to draw the text label like below, i need label > > inform of each pie . pls give me some guide. > > thanks a lot > > 内嵌图片 1 > > > > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
use annotate() http://matplotlib.org/users/annotations_guide.html#plotting-guide-annotation M On 6/19/14, 12:27 AM, 不坏阿峰 wrote: > thanks to Joe Kington > <‘s" rel=nofollow>https://plus.google.com/u/0/115087865729901776991?prsrc=4>‘s help, i > got this pie donuts > i have modified code to generate pie base one the Num of list. > but i do not know how to draw the text label like below, i need label > inform of each pie . pls give me some guide. > thanks a lot > 内嵌图片 1 >
Just to clarify, do you actually want to be able to "pick" it, so by selecting in interactively (and probably manually, i.e. with the mouse) or are you only interested in displaying the "data underneath the line". The second is straightforward: just plot in a new axes the relevant row of your 2D data. The former requires you to add events to your figure so that you can pick values interactively. The matplotlib example [pick_event_demo][1] shows you how it's done. I recomment studying it and then asking again if it doesn't work. 1: http://matplotlib.org/examples/event_handling/pick_event_demo.html 2014年06月19日 2:56 GMT+02:00 dydy2014 <dya...@gm...>: > Thank you Paul for your comment, but what I need not just put a line in the > contour. > I want to pick value along the red line, so which the data that placed on > the red line. > Then I will plot it in the other type of plot. > > > > > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/Pick-a-particular-data-from-array-tp43532p43545.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
thanks to Joe Kington <‘s" rel=nofollow>https://plus.google.com/u/0/115087865729901776991?prsrc=4>‘s help, i got this pie donuts i have modified code to generate pie base one the Num of list. but i do not know how to draw the text label like below, i need label inform of each pie . pls give me some guide. thanks a lot [image: 内嵌图片 1] ################################# from __future__ import unicode_literals import matplotlib.pyplot as plt import numpy as np import sys # os, random from PyQt4 import QtGui, QtCore #from numpy import arange, sin, pi from matplotlib import font_manager as fm from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas #from matplotlib.figure import Figure from mychart_ui import Ui_Form class MyMplCanvas(FigureCanvas): """Ultimately, this is a QWidget (as well as a FigureCanvasAgg, etc.).""" def __init__(self, parent=None, width=5, height=4, dpi=100): #fig = Figure(figsize=(width, height), dpi=dpi) # self.axes = fig.add_subplot(111) # We want the axes cleared every time plot() is called #self.axes.hold(False) plt.rcParams['font.size'] = 9 plt.rcParams['font.weight'] = 'normal' self.fig, self.axes = plt.subplots() self.compute_initial_figure() # FigureCanvas.__init__(self, self.fig) self.setParent(parent) FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) FigureCanvas.updateGeometry(self) def compute_initial_figure(self): pass class MyStaticMplCanvas(MyMplCanvas): """Simple canvas with a sine plot.""" def compute_initial_figure(self): #fig, ax = plt.subplots() #ax.axis = ('equal') data = [[96, 124],[33, 64],[55, 96]] header = ['Hardware', 'Software'] def pie_plot(myfig,myaxes,data): fig = myfig ax = myaxes ax.set_position([-0.12, 0.4, 0.6, 0.6]) ax.axis('equal') ls = data r_len = 0.6 width = r_len/(len(ls)+1) print width kwargs = dict(colors=['#66FF66', '#9999FF', '#FF9999'], startangle=90) proptease = fm.FontProperties() proptease.set_size('xx-small') circle_ls = [] for i in range(len(ls)): print i circle_ls.append(pie(ax, ls[i], radius=r_len-width*i, pctdistance=1-width/2, **kwargs)) # outside = pie(ax, ls[0], radius=r_len, pctdistance=1-width/2, **kwargs) # middle = pie(ax,ls[1] , radius=r_len-width, # pctdistance=1-width/2, **kwargs) # middle2 = pie(ax,ls[1] , radius=r_len-width*2, # pctdistance=1-width/2, **kwargs) # inside = pie(ax,ls[2] , radius=r_len-width*3, # pctdistance=1-width/2, **kwargs) plt.setp(circle_ls, width=width, edgecolor='white') ax.legend(circle_ls[0][::-1], header, frameon=False) pie_plot(self.fig,self.axes,data) kwargs = dict(size=13, color='white', va='center', fontweight='bold') # ax.text(0, 0, 'Year 2005', ha='center', # bbox=dict(boxstyle='round', facecolor='blue', edgecolor='none'), # **kwargs) # ax.annotate('Year 2006', (0, 0), xytext=(np.radians(-45), 1.1), # bbox=dict(boxstyle='round', facecolor='green', edgecolor='none'), # textcoords='polar', ha='left', **kwargs) #ax.axes.plot() def pie(ax, values, **kwargs): total = sum(values) def formatter(pct): return '{:0.0f}\n{:0.1f}%'.format(pct*total/100,pct) wedges, _, labels = ax.pie(values, autopct=formatter, **kwargs) return wedges #plt.show() class myWidget(QtGui.QWidget, Ui_Form): def __init__(self,parent=None): QtGui.QWidget.__init__(self, parent) self.setupUi(self) self.pushButton.clicked.connect(self.draw) def draw(self): print '=' sc = MyStaticMplCanvas(self.matwidget, width=2, height=3, dpi=100) sc.show() qApp = QtGui.QApplication(sys.argv) # aw = ApplicationWindow() # aw.setWindowTitle("%s" % progname) aw = myWidget() aw.show() sys.exit(qApp.exec_()) ####################################
Thank you Paul for your comment, but what I need not just put a line in the contour. I want to pick value along the red line, so which the data that placed on the red line. Then I will plot it in the other type of plot. -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Pick-a-particular-data-from-array-tp43532p43545.html Sent from the matplotlib - users mailing list archive at Nabble.com.