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
(47)
2
(13)
3
(12)
4
(16)
5
(3)
6
(6)
7
(20)
8
(45)
9
(24)
10
(30)
11
(14)
12
(4)
13
(1)
14
(6)
15
(6)
16
(10)
17
(15)
18
(13)
19
(4)
20
21
(14)
22
(13)
23
(9)
24
(19)
25
(24)
26
27
(4)
28
(20)
29
(17)
30
(7)



Showing 6 results of 6

From: Mike A. <ma...@ry...> - 2010年06月14日 23:22:59
First what version of mpl are you using? if it is recent this colour word already exists, I asked about this a couple months ago and i should point you first to the example in the svn it does a checkerboard, but i cannot remember the exact name. Although i know it plots a checkerboard effect on one of the example plots. 
 
The way that color keyword is set up, it is dedsigned to take a color word or rgba tuple , (Reinier will know this better than me), however if you want to just assign colors based on a colour map you can take you color array and reshape the same way the plot surface command does then use surf.set_array()
 
here is a snippet of the code I use to do this I am pretty sure it won’t run the way it is right now but the idea is buried in there
 
note that regmap xyz and costmapz are all the same size and are nxm matrices costmapout is a 2x(m.n) if i can do the math correctly 
 
 
 from mpl_toolkits.mplot3d import Axes3D
 from matplotlib import cm
 import numpy as np
#--------------------------------------------------
 ax = Axes3D(fig)
 
 scale= 3 
 surf = ax.plot_surface(regMAPx ,regMAPy,-regMAPz , rstride=scale,cstride=scale, cmap=cm.jet, linewidth=.250 )
 
# to reshape the cost map to match grid used in plot surf
 rows, cols = costMAPz.shape
 costmapout = []
 for rs in np.arange(0, rows-1, scale):
 for cs in np.arange(0, cols-1, scale):
 costmapout.append(costMAPz[rs][cs])
 
 costmapout=np.array(costmapout)
 surf.set_array(costmapout)
 
## do your show plot stuff here!!
 
 
 
 
 
Mike Alger
 
From: Pablo Angulo [mailto:pab...@ua...] 
Sent: June-11-10 7:04 AM
To: mat...@li...
Subject: [Matplotlib-users] color in plot3d
 
 Hello!
 I wonder if there is a way to make 3d plots specifying arbitrary colors, instead of having the color be a function of the height. I was able to achieve this making minimal changes to the plot_surface method of Axes3D, adding as an optional keyword argument a function cfun which specifies the color (it specifies a real number that is mapped into a color by the color map cmap). But is there a standard way?
 Regard
Pablo Angulo
from matplotlib.colors import Normalize, colorConverter
def plot_surface(self, X, Y, Z, *args, **kwargs):
 '''
 Create a surface plot.
 
 By default it will be colored in shades of a solid color,
 but it also supports color mapping by supplying the *cmap*
 argument.
 
 ========== ================================================
 Argument Description
 ========== ================================================
 *X*, *Y*, Data values as numpy.arrays
 *Z*
 *rstride* Array row stride (step size)
 *cstride* Array column stride (step size)
 *color* Color of the surface patches
 *cmap* A colormap for the surface patches.
 *cfun* The function giving the color
 ========== ================================================
 '''
 
 had_data = self.has_data()
 
 rows, cols = Z.shape
 tX, tY, tZ = np.transpose(X), np.transpose(Y), np.transpose(Z)
 rstride = kwargs.pop('rstride', 10)
 cstride = kwargs.pop('cstride', 10)
 
 color = kwargs.pop('color', 'b')
 color = np.array(colorConverter.to_rgba(color))
 cmap = kwargs.get('cmap', None)
 cfun = kwargs.pop('cfun', None)
 polys = []
 normals = []
 avgz = []
 if not cfun:
 cfun = lambda p:p[2]
 
 for rs in np.arange(0, rows-1, rstride):
 for cs in np.arange(0, cols-1, cstride):
 ps = []
 corners = []
 for a, ta in [(X, tX), (Y, tY), (Z, tZ)]:
 ztop = a[rs][cs:min(cols, cs+cstride+1)]
 zleft = ta[min(cols-1, cs+cstride)][rs:min(rows, rs+rstride+1)]
 zbase = a[min(rows-1, rs+rstride)][cs:min(cols, cs+cstride+1):]
 zbase = zbase[::-1]
 zright = ta[cs][rs:min(rows, rs+rstride+1):]
 zright = zright[::-1]
 corners.append([ztop[0], ztop[-1], zbase[0], zbase[-1]])
 z = np.concatenate((ztop, zleft, zbase, zright))
 ps.append(z)
 
 # The construction leaves the array with duplicate points, which
 # are removed here.
 ps = zip(*ps)
 lastp = np.array([])
 ps2 = []
 avgzsum = 0.0
 for p in ps:
 if p != lastp:
 ps2.append(p)
 lastp = p
 avgzsum += cfun(p)
 polys.append(ps2)
 avgz.append(avgzsum / len(ps2))
 
 v1 = np.array(ps2[0]) - np.array(ps2[1])
 v2 = np.array(ps2[2]) - np.array(ps2[0])
 normals.append(np.cross(v1, v2))
 
 polyc = art3d.Poly3DCollection(polys, *args, **kwargs)
 if cmap is not None:
 polyc.set_array(np.array(avgz))
 polyc.set_linewidth(0)
 else:
 colors = self._shade_colors(color, normals)
 polyc.set_facecolors(colors)
 
 self.add_collection(polyc)
 self.auto_scale_xyz(X, Y, Z, had_data)
 
 return polyc
No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 9.0.829 / Virus Database: 271.1.1/2933 - Release Date: 06/12/10 14:35:00
From: Daniel J. <law...@gm...> - 2010年06月14日 20:32:58
Hi matplotlib users,
I'm trying to write a script to loop through a bunch of tiff files,
display each image, and choose to accept or reject each image.
Something like:
for f in files:
 im = imread(f)
 imshow(im)
 # Accept keyboard input to accept or reject image
 # Close the image
The problem is that I can't figure out how to show multiple images in
series. I can't use matplotlib.pyplot.show() because that can only be
used once at the very end of a script, and I don't want to show all
the images at once. matplotlib.pyplot.draw() seemed like a promising
candidate, but it only seems to work if I've already used show() once
in the script. It seems like there should be a simple way to do this,
but I can't quite seem to find it.
Thanks,
Daniel
From: Oz N. <na...@gm...> - 2010年06月14日 17:57:55
Hi Eric,
Thanks for your reply. I've already suspected that it's a simple linear
interpolation like in matlab.
And for better interpolation I should use griddata on a finer grid. That's
all clear now !
-- 
Oz Nahum
Graduate Student
Zentrum für Angewandte Geologie
Universität Tübingen
---
Imagine there's no countries
it isn't hard to do
Nothing to kill or die for
And no religion too
Imagine all the people
Living life in peace
From: Eric F. <ef...@ha...> - 2010年06月14日 17:30:46
On 06/13/2010 10:27 PM, David Kremer wrote:
>> Hi Everyone,
>> I'd like to know, what is the underline mechanism that connects the
> points
>> of my gridded data when I use
>> contour().
>> Can I control this mechanism ?
No. If you want smoother contours you can either use a 2-D 
interpolation method to map your data to a finer grid and then use that 
for contouring, or you can use a spline algorithm to smooth the contour 
paths directly. There are more problems and pitfalls with the second 
method than with the first, so don't bother trying it.
>> Maybe I missed it in the documentation, but it's not clear to me.
>> Thanks in advance,
>>
> I think it's the same than this used in the imshow method. Would you
> like to check ?
No, image display and contouring use completely different algorithms. 
Imshow uses any of several 2-D interpolation methods to map values given 
on one square grid onto another square grid. It does not create paths; 
it simply displays pixels. In contouring, linear interpolation is used 
to find the intersections between contour level lines and grid lines; 
the intersection points are connected by line segments; and the line 
segments are assembled into complete contour paths, which are then drawn 
(contour) or filled (contourf).
Eric
>
> greetings.
>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit. See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: David K. <dav...@gm...> - 2010年06月14日 08:27:40
> Hi Everyone,
> I'd like to know, what is the underline mechanism that connects the 
points
> of my gridded data when I use
> contour().
> Can I control this mechanism ?
> Maybe I missed it in the documentation, but it's not clear to me.
> Thanks in advance,
> 
I think it's the same than this used in the imshow method. Would you 
like to check ?
greetings.
From: Ola S. <ska...@si...> - 2010年06月14日 07:14:21
On Fri, Jun 11, 2010 at 4:50 PM, Benjamin Root <ben...@ou...> wrote:
> Ola,
>
> Just to make sure, have you tried "ax.set_xticks([])"?
Yes, I have tried that, but without success. Looks like the tick-logic
is overridden for 3d plotting. Or at least, I cannot figure out how it
works.
Ola
> Ben Root
>
>
>
> On Fri, Jun 11, 2010 at 3:05 AM, Ola Skavhaug <ska...@si...> wrote:
>>
>> Hi,
>>
>> I'm trying to remove the xtickmarks and ytickmarks from a 3d plot,
>> without any success.
>>
>> The example I experiment with is the following:
>>
>> from mpl_toolkits.mplot3d import axes3d
>> import matplotlib.pyplot as plt
>>
>> fig = plt.figure()
>> ax = axes3d.Axes3D(fig)
>> X, Y, Z = axes3d.get_test_data(0.05)
>> cset = ax.contour(X, Y, Z, 16, extend3d=True)
>> ax.clabel(cset, fontsize=9, inline=1)
>>
>> #One try that didn't work
>> ax.set_xticklabels("")
>>
>> plt.show()
>>
>> It looks like the final plot ignores all my efforts in turning the
>> ticks off. Any help on this matter would be greatly appreciated.
>>
>> Regards,
>> --
>> Ola Skavhaug
>> Research Programmer
>> Simula Research Laboratory
>>
>>
>> ------------------------------------------------------------------------------
>> ThinkGeek and WIRED's GeekDad team up for the Ultimate
>> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
>> lucky parental unit. See the prize list and enter to win:
>> http://p.sf.net/sfu/thinkgeek-promo
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
-- 
Ola Skavhaug
Research Programmer
Simula Research Laboratory

Showing 6 results of 6

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 によって変換されたページ (->オリジナル) /