SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

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





Showing 9 results of 9

From: Eric F. <ef...@ha...> - 2014年06月19日 19:47:59
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
From: Neal B. <ndb...@gm...> - 2014年06月19日 15:31:14
/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?
From: Slavin, J. <js...@cf...> - 2014年06月19日 12:37:48
​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
________________________________________________________
From: 不坏阿峰 <onl...@gm...> - 2014年06月19日 12:36:21
Attachments: image.png
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]
From: 不坏阿峰 <onl...@gm...> - 2014年06月19日 12:17:49
Attachments: image.png
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
>
From: Mike K. <mc...@gm...> - 2014年06月19日 11:30:31
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
>
From: Oliver <oli...@gm...> - 2014年06月19日 08:17:53
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
>
From: 不坏阿峰 <onl...@gm...> - 2014年06月19日 04:27:43
Attachments: image.png
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_())
####################################
From: dydy2014 <dya...@gm...> - 2014年06月19日 00:56:28
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.

Showing 9 results of 9

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /