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




Showing 8 results of 8

From: Phil E. <pel...@gm...> - 2012年07月23日 20:45:31
Looks like your very close.
I needed to change the months to short English form, change the line
 ax3.grid('True') to ax3.grid(True)
and add the line
 ax3.axvspan(*mdates.datestr2num(['05/18/2012', '06/30/2012']),
facecolor='g', alpha=0.5)
To get the box on the lower plot.
Hope that helps,
On 23 July 2012 20:42, Luciano Fleischfresser <l_...@ya...> wrote:
> I want to place a colored vertical range on my plot and came across the
> following example:
>
> http://stackoverflow.com/questions/8270981/in-a-matplotlib-plot-can-i-highlight-specific-x-value-ranges/8271438#8271438
>
> It shows what I am trying to do using axvspan.
> However, I was not able to reproduce the second plot with dates.
> Errors like 'invalid syntax' for color='red' and others prevented me from
> reproducing the plot.
> The demo from Matplotlib gallery worked fine for me. My plot also has dates
> on the x-axis.
>
> I am attaching code and data file. Hope someone can point me in the right
> direction.
>
> L Fleischfresser
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Luciano F. <l_...@ya...> - 2012年07月23日 19:42:18
I want to place a colored vertical range on my plot and came across the following example: 
http://stackoverflow.com/questions/8270981/in-a-matplotlib-plot-can-i-highlight-specific-x-value-ranges/8271438#8271438
It shows what I am trying to do using axvspan. 
However, I was not able to reproduce the second plot with dates. 
Errors like 'invalid syntax' for color='red' and others prevented me from reproducing the plot.
The demo from Matplotlib gallery worked fine for me. My plot also has dates on the x-axis.
I am attaching code and data file. Hope someone can point me in the right direction.
L Fleischfresser
From: Jonathan S. <js...@cf...> - 2012年07月23日 12:57:00
You might want to look at the python textwrap module. That can take
your labels and automatically wrap them at a certain column width. See
(in addition to the official python docs)
http://www.doughellmann.com/PyMOTW/textwrap/
Jon
On Fri, 2012年07月20日 at 23:55 -0400, C M wrote:
> How possible would it be to wrap y axis tick labels after a certain
> text length? I have a horizontal bar plot where some bars' labels are
> too long and therefore cut off. I can scrunch the width of the whole
> plot to accommodate them, but I'd much rather wrap long text and allow
> a little more space to accommodate two lines. For examples:
> 
> I'd like to go from this:
> 
> a short axis label | ======================
> 
> A very long axis label that gets cut off | =============
> 
> 
> To this:
> a short axis label | ======================
> 
> A very long axis label | =============
> that gets cut off
> 
> 
> Is this possible or has it ever been done?
> 
> Thanks,
> Che
> 
> 
-- 
______________________________________________________________
Jonathan D. Slavin Harvard-Smithsonian CfA
js...@cf... 60 Garden Street, MS 83
phone: (617) 496-7981 Cambridge, MA 02138-1516
 cell: (781) 363-0035 USA
______________________________________________________________
From: Mark L. <bre...@ya...> - 2012年07月23日 09:43:29
On 23/07/2012 03:01, JonBL wrote:
>
> Using FuncFormatter with my conversion procedure has solved my problem. I did
> not use the Python datetime module to generate the tickmark labels as some
> of your examples suggested. Instead, my conversion procedure pulls the
> required formatted date string for an x-axis ticklabel date serial number
> from an Oracle database which is the source of my plotted data.
>
> This approach has also answered another question I had in mind - how do I
> get the x= co-ordinate displayed at the bottom of the figure, to report the
> formatted date rather than its serial number.
>
> I also had a response from Phil Elson who suggested using using
> FuncFormatter as well. Many thanks to both of you for your timely responses
> to my query.
>
> Regards,
> Jon
Brilliant :) I was just about to ask how to do this!!!
>
> Benjamin Root-2 wrote:
>>
>> On Sat, Jul 21, 2012 at 10:27 PM, JonBL <jc....@bi...> wrote:
>>
>>>
>>> I have a line plot where the x-axis values are numbers, with displayed
>>> tick
>>> mark values of 0, 100, 200 ... 500 - a total of 6 tick marks. These
>>> values
>>> represent the number of days since a certain date. I have a function
>>> which
>>> converts a number such as 100, to date string '23-Jun-11', which I want
>>> to
>>> display as the x-axis label instead of 100.
>>>
>>> Following the pypib example xaxis_props.py, and printing dir(label) for
>>> each
>>> label in the x-axis tick labels, I can see that a label object supports a
>>> number of methods that might assist in changing the text of tick mark
>>> labels. I was hoping to use the get_text() method to retrieve the label's
>>> text (eg, 100), transform this to a date string by my function, and then
>>> use
>>> the set_text() method to re-assign the displayed label.
>>>
>>> This approach does not work for me. The get_text() method returns a
>>> zero-length string (not None) for each label, and the set_text() method
>>> does
>>> not change the displayed tick mark values. But I can use the set_color()
>>> method to change the colour of displayed values as per example
>>> xaxis_props.py.
>>>
>>> Any suggestions on how to change the text of displayed x-axis tick marks?
>>>
>>> TIA,
>>> Jon
>>>
>>
>> Without example code, it would be difficult to determine what you are
>> doing
>> incorrectly. That being said, there is an easier solution. If you know
>> the start date, do the following:
>>
>> from datetime import datetime, timedelta
>> startdate = datetime.strptime(datestr, "%d-%m-%y) # you need to look up
>> the format character for named months.
>>
>> xdates = np.array([startdate + timedelta(days=i) for i in xrange(501)])
>> y = np.random.random(xdates.shape)
>>
>> plt.plot(xdates, y) # This should work, but plot_date() definitely will
>> work.
>>
>> Matplotlib recognizes the python datetime object and should format it for
>> you. You can even control the formatting. See the following examples:
>> http://matplotlib.sourceforge.net/examples/pylab_examples/date_demo_convert.html?highlight=datetime%20codex
>> http://matplotlib.sourceforge.net/examples/pylab_examples/date_demo2.html?highlight=datetime%20codex
>> http://matplotlib.sourceforge.net/examples/api/date_demo.html?highlight=datetime%20codex
>> http://matplotlib.sourceforge.net/examples/pylab_examples/date_demo1.html?highlight=datetime%20codex
>>
>>
>> I hope this helps!
>> Ben Root
>>
>> ------------------------------------------------------------------------------
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>>
>
-- 
Cheers.
Mark Lawrence.
From: Damon M. <dam...@gm...> - 2012年07月23日 08:59:39
On Mon, Jul 23, 2012 at 05:50:41AM +0200, klo uo wrote:
> Thanks for your reply Ben,
> 
> 
> On Sun, Jul 22, 2012 at 4:39 PM, Benjamin Root wrote:
> > As for the assertion that HTML colors aren't used, that is incorrect. The
> > named colors follow the HTML list. Here is our list:
> >
> > https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/colors.py#L62
> >
> > and here is the html list:
> >
> > http://html-color-codes.info/color-names/
> 
> sure that's correct, I just meant about default defined colors with
> abbrev color names, like 'y' (#BFBF00) in not 'yellow' (#FFFF00) etc.
>
Are you saying the following two examples
ax.plot(x, y, 'yellow')
ax.plot(x, y, 'y')
produce different coloured lines? Or are you saying yellow should always
be #FFFF00?
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
-- 
Damon McDougall
http://damon-is-a-geek.com
B2.39
Mathematics Institute
University of Warwick
Coventry
West Midlands
CV4 7AL
United Kingdom
From: Phil E. <pel...@gm...> - 2012年07月23日 08:06:11
Ah, sorry, forgot to reply to all. Please see the solution I provided to Jon.
---------- Forwarded message ----------
Date: 22 July 2012 15:08
Subject: Re: [Matplotlib-users] How to Change Axis Tick Mark Labels
Sounds like you want to use a FunctionFormatter rather than modifying
the ticks themselves. There is an example here
(http://stackoverflow.com/questions/8271564/matplotlib-comma-separated-number-format-for-axis).
Essentially:
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
def square_braces(tick_val, tick_pos):
 """Put square braces around the given tick_val """
 return '<%s>' % tick_val
ax = plt.axes()
plt(range(10))
ax.yaxis.set_major_formatter(mticker.FuncFormatter(func))
plt.show()
HTH,
From: klo uo <kl...@gm...> - 2012年07月23日 03:50:48
Thanks for your reply Ben,
On Sun, Jul 22, 2012 at 4:39 PM, Benjamin Root wrote:
> As for the assertion that HTML colors aren't used, that is incorrect. The
> named colors follow the HTML list. Here is our list:
>
> https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/colors.py#L62
>
> and here is the html list:
>
> http://html-color-codes.info/color-names/
sure that's correct, I just meant about default defined colors with
abbrev color names, like 'y' (#BFBF00) in not 'yellow' (#FFFF00) etc.
From: JonBL <jc....@bi...> - 2012年07月23日 02:01:33
Using FuncFormatter with my conversion procedure has solved my problem. I did
not use the Python datetime module to generate the tickmark labels as some
of your examples suggested. Instead, my conversion procedure pulls the
required formatted date string for an x-axis ticklabel date serial number
from an Oracle database which is the source of my plotted data.
This approach has also answered another question I had in mind - how do I
get the x= co-ordinate displayed at the bottom of the figure, to report the
formatted date rather than its serial number. 
I also had a response from Phil Elson who suggested using using
FuncFormatter as well. Many thanks to both of you for your timely responses
to my query.
Regards,
 Jon
Benjamin Root-2 wrote:
> 
> On Sat, Jul 21, 2012 at 10:27 PM, JonBL <jc....@bi...> wrote:
> 
>>
>> I have a line plot where the x-axis values are numbers, with displayed
>> tick
>> mark values of 0, 100, 200 ... 500 - a total of 6 tick marks. These
>> values
>> represent the number of days since a certain date. I have a function
>> which
>> converts a number such as 100, to date string '23-Jun-11', which I want
>> to
>> display as the x-axis label instead of 100.
>>
>> Following the pypib example xaxis_props.py, and printing dir(label) for
>> each
>> label in the x-axis tick labels, I can see that a label object supports a
>> number of methods that might assist in changing the text of tick mark
>> labels. I was hoping to use the get_text() method to retrieve the label's
>> text (eg, 100), transform this to a date string by my function, and then
>> use
>> the set_text() method to re-assign the displayed label.
>>
>> This approach does not work for me. The get_text() method returns a
>> zero-length string (not None) for each label, and the set_text() method
>> does
>> not change the displayed tick mark values. But I can use the set_color()
>> method to change the colour of displayed values as per example
>> xaxis_props.py.
>>
>> Any suggestions on how to change the text of displayed x-axis tick marks?
>>
>> TIA,
>> Jon
>>
> 
> Without example code, it would be difficult to determine what you are
> doing
> incorrectly. That being said, there is an easier solution. If you know
> the start date, do the following:
> 
> from datetime import datetime, timedelta
> startdate = datetime.strptime(datestr, "%d-%m-%y) # you need to look up
> the format character for named months.
> 
> xdates = np.array([startdate + timedelta(days=i) for i in xrange(501)])
> y = np.random.random(xdates.shape)
> 
> plt.plot(xdates, y) # This should work, but plot_date() definitely will
> work.
> 
> Matplotlib recognizes the python datetime object and should format it for
> you. You can even control the formatting. See the following examples:
> http://matplotlib.sourceforge.net/examples/pylab_examples/date_demo_convert.html?highlight=datetime%20codex
> http://matplotlib.sourceforge.net/examples/pylab_examples/date_demo2.html?highlight=datetime%20codex
> http://matplotlib.sourceforge.net/examples/api/date_demo.html?highlight=datetime%20codex
> http://matplotlib.sourceforge.net/examples/pylab_examples/date_demo1.html?highlight=datetime%20codex
> 
> 
> I hope this helps!
> Ben Root
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
> 
-- 
View this message in context: http://old.nabble.com/How-to-Change-Axis-Tick-Mark-Labels-tp34195324p34197999.html
Sent from the matplotlib - users mailing list archive at Nabble.com.

Showing 8 results of 8

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