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) |
|
|
|
|
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 >
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
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 ______________________________________________________________
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.
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
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,
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.
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.