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) |
|
|
|
|
From: Benjamin R. <ben...@ou...> - 2012-07-24 19:38:12
|
On Tue, Jul 24, 2012 at 10:52 AM, Sami Niemi <s....@uc...> wrote: > Thanks Ben for your explanation. I have filed a feature request: > https://github.com/matplotlib/matplotlib/issues/1037 > > > Cheers, > Sami > > Sami, I did take a quick peek at the code to assess how much effort it would take to make it work properly. It isn't trivial, to say the least, because the user-supplied rotation value is overwritten in order to do the 3d-managed rotation. This is actually similar to another problem where user-supplied colors to scatter plots would be over-written as one interacts with the plot. I have a possible quickfix in mind, but I have to test it out, and I already know of some edge cases where it won't work. But it might be sufficient for most use-cases. Cheers! Ben Root |
From: Luciano F. <l_...@ya...> - 2012-07-24 17:27:01
|
Still not working. The output looks like this: File "NotasFaltasdoisgraficos.py", line 58 ax3.axvspan(*mdates.datestr2num(['05/18/2012', '06/30/2012']), facecolor='g', alpha=0.5) ^ SyntaxError: invalid syntax When you say "...change the months to short English form" you mean in the data file? That is, Abr -> Apr, Mai -> May??? ...still did not work. ________________________________ From: Phil Elson <pel...@gm...> To: Luciano Fleischfresser <lf...@ut...> Cc: "Mat...@li..." <Mat...@li...> Sent: Monday, July 23, 2012 5:45 PM Subject: Re: [Matplotlib-users] axvspan with dates on x-axis 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 > ------------------------------------------------------------------------------ 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: Sami N. <s....@uc...> - 2012-07-24 14:52:43
|
Thanks Ben for your explanation. I have filed a feature request: https://github.com/matplotlib/matplotlib/issues/1037 Cheers, Sami On 24 Jul 2012, at 15:39, Benjamin Root wrote: > On Tue, Jul 24, 2012 at 10:10 AM, Sami Niemi <s....@uc...> wrote: > Hi, > > I have not managed to rotate the axes label text when generating a 3D plot, while in 2D everything works just fine. Here's a short snippet to demonstrate: > > import matplotlib.pyplot as plt > from mpl_toolkits.mplot3d import Axes3D > > fig = plt.figure() > ax = fig.add_subplot(111, projection='3d') > > ax.set_zlabel('label text flipped', rotation=45) > > ax.azim = 225 > > plt.show() > > > Because mplot3d has to managed the rotation of the axes label text itself, it over-rides any user-specified rotations. I guess it is feasible to apply a rotation on top of the internal rotation. Could you file a feature request on github for this? > > Cheers! > Ben Root > |
From: Benjamin R. <ben...@ou...> - 2012-07-24 14:40:26
|
On Tue, Jul 24, 2012 at 10:10 AM, Sami Niemi <s....@uc...> wrote: > Hi, > > I have not managed to rotate the axes label text when generating a 3D > plot, while in 2D everything works just fine. Here's a short snippet to > demonstrate: > > import matplotlib.pyplot as plt > from mpl_toolkits.mplot3d import Axes3D > > fig = plt.figure() > ax = fig.add_subplot(111, projection='3d') > > ax.set_zlabel('label text flipped', rotation=45) > > ax.azim = 225 > > plt.show() > > Because mplot3d has to managed the rotation of the axes label text itself, it over-rides any user-specified rotations. I guess it is feasible to apply a rotation on top of the internal rotation. Could you file a feature request on github for this? Cheers! Ben Root |
From: Sami N. <s....@uc...> - 2012-07-24 14:30:20
|
Hi, I have not managed to rotate the axes label text when generating a 3D plot, while in 2D everything works just fine. Here's a short snippet to demonstrate: import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.set_zlabel('label text flipped', rotation=45) ax.azim = 225 plt.show() I've tried other commands like: ax.w_zaxis.set_label_text(r'$\left ( \frac{R}{R_{ref}} \right )^{2}$', rotation='vertical') without success. I would prefer not to use a solution like "pathpatch3d_demo.py" because then I need to find the location separately. Any suggestions? Cheers, Sami |
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. |
From: Benjamin R. <ben...@ou...> - 2012-07-22 14:57:59
|
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 |
From: Benjamin R. <ben...@ou...> - 2012-07-22 14:39:48
|
On Sat, Jul 21, 2012 at 1:21 PM, klo uo <kl...@gm...> wrote: > Hi, > > I read previous mail about "colormaps" which reminded me to a question > I had about MPL colors. > Colors in MPL plots are dark, and pale, and not is some specific color > theme but it's just pale dark. > I thought that usually people make plots brighter (as more attractive ;) ) > > The default color cycle chosen is the same as many of the other popular plotting tools, however, we provide the mechanism to define your own cycles. Admittedly, this isn't quite as good as I would like it, but that is the rationale for the chosen default. > If you can, have a look at this plot I just made, and same image with > same named colors as set by CorelDraw for example: > http://i.imgur.com/y29xD.png > > As you all probably know cyan is not cyan but teal, and green is with > 50% green, and every color is not as expected, except red and blue. > I don't know much about color systems and color space, so thought to > ask why is it like this and if colors can be somehow differently > defined at user end? > > If you import matplotlib.colors, you can modify the "cnames" dictionary like so: import matplotlib.colors as mcolors mcolors.cnames['cyan'] = mcolors.cnames['teal'] mcolors.cnames['green'] = '#00FF00' As for using a CMYK system, the idea has been floated before and I certainly would not be adverse to it. But for backwards compatibility, we would have to continue to support the RGB system. There has been talk about reworking the way colors are handled in matplotlib to use class objects in order to unify the myriad of ways that colors can be specified by the users. Such a scheme would make the simultaneous use of CMYK and RGB possible if they are both derived from a common base-class. 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/ Cheers! Ben Root |
From: JonBL <jc....@bi...> - 2012-07-22 02:27:19
|
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 -- View this message in context: http://old.nabble.com/How-to-Change-Axis-Tick-Mark-Labels-tp34195324p34195324.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: klo uo <kl...@gm...> - 2012-07-21 20:14:42
|
Ah all right, thanks for the tips :) I somehow missed that setting while browsing matplotlibrc Cheers On Sat, Jul 21, 2012 at 9:33 PM, Felix Patzelt wrote: > You want this? > > ---- > > import matplotlib as mpl > mpl.rcParams['axes.color_cycle'] = ['#0000FF', '#00FF00', '#FF0000', '#00FFFF', 'FF00FF', 'FFFF00', '000000'] > > # test it > from pylab import * > import matplotlib.cm as cm > > x = linspace(0, 2*pi, num=100, endpoint=True) > > for i in range(1, 10): > plot(x, sin(x + pi*i/10.0)) > > show() > > ---- > > I still think, that this is not a sensible default choice. Btw you can also easily generate your color scheme from colormaps: > > mpl.rcParams['axes.color_cycle'] = [cm.winter(i/10.) for i in range(10)]. > > There also was an example in the Mailing list for how to do this on a per-plot-basis: https://gist.github.com/3150091 |
From: Felix P. <fe...@ne...> - 2012-07-21 19:33:44
|
You want this? ---- import matplotlib as mpl mpl.rcParams['axes.color_cycle'] = ['#0000FF', '#00FF00', '#FF0000', '#00FFFF', 'FF00FF', 'FFFF00', '000000'] # test it from pylab import * import matplotlib.cm as cm x = linspace(0, 2*pi, num=100, endpoint=True) for i in range(1, 10): plot(x, sin(x + pi*i/10.0)) show() ---- I still think, that this is not a sensible default choice. Btw you can also easily generate your color scheme from colormaps: mpl.rcParams['axes.color_cycle'] = [cm.winter(i/10.) for i in range(10)]. There also was an example in the Mailing list for how to do this on a per-plot-basis: https://gist.github.com/3150091 Am 21.07.2012 um 21:00 schrieb klo uo: > On Sat, Jul 21, 2012 at 7:37 PM, Felix Patzelt wrote: >> Have you ever been in a talk where someone uses 100% green on a slide? The result is usually that no one can see what is shown unless it is a really large green area. > > No, but I would have expected in that case appropriate bg. I've seen a > talk by MPL developer that he dislikes systems that help too much, > like I want it to do what I tell it to do ;) > Like cyan is not teal, and yellow is not 75% yellow etc. > > I really would have expected that MPL uses some nifty CMYK scheme (as > in CorelDraw approxiamtion i.e.) instead the one usually defined as in > html color names: http://www.w3schools.com/html/html_colornames.asp > which are commonly used (gnuplot i.e.), but MPL doesn't even use that > > Can this colors be defined (i.e. in matplotlibrc) w/o changing MPL source? > > >> My guess is that this happens because rod cells which are the most light sensitive ones have very similar wavelength responsiveness to the cone cells (the ones for color vision) which react to green light. Hence, you just don't have as much contrast for green text on a white background as you have for example for blue text. Also, green on black is much easier to read than blue or red on black by the same argument. > > ------------------------------------------------------------------------------ > 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: klo uo <kl...@gm...> - 2012-07-21 19:00:49
|
On Sat, Jul 21, 2012 at 7:37 PM, Felix Patzelt wrote: > Have you ever been in a talk where someone uses 100% green on a slide? The result is usually that no one can see what is shown unless it is a really large green area. No, but I would have expected in that case appropriate bg. I've seen a talk by MPL developer that he dislikes systems that help too much, like I want it to do what I tell it to do ;) Like cyan is not teal, and yellow is not 75% yellow etc. I really would have expected that MPL uses some nifty CMYK scheme (as in CorelDraw approxiamtion i.e.) instead the one usually defined as in html color names: http://www.w3schools.com/html/html_colornames.asp which are commonly used (gnuplot i.e.), but MPL doesn't even use that Can this colors be defined (i.e. in matplotlibrc) w/o changing MPL source? > My guess is that this happens because rod cells which are the most light sensitive ones have very similar wavelength responsiveness to the cone cells (the ones for color vision) which react to green light. Hence, you just don't have as much contrast for green text on a white background as you have for example for blue text. Also, green on black is much easier to read than blue or red on black by the same argument. |
From: Benjamin J. <bj...@gm...> - 2012-07-21 17:39:41
|
Hey guys, thanks for your answers. Nicolas, your showcase seems to be exactly what I'm after. To make this a little more user-friendly it would be nice to create ones own line style from this so that it can be easily incorporated in the plotting command, i.e. ax.plot( .... , linestyle=myFancyLine) . Anyway thanks a lot for pointing out that this can be done in matplotlib already. Benjamin On Mon, Jul 16, 2012 at 2:12 PM, Nicolas Rougier <Nic...@in...> wrote: > > > Here is a quick example that might help you: > > http://www.loria.fr/~rougier/coding/gallery/showcase/showcase-10-large.png > http://www.loria.fr/~rougier/coding/gallery/showcase/showcase-10.py > > > > Nicolas > > > On Jul 16, 2012, at 11:27 , Daπid wrote: > >> On Mon, Jul 16, 2012 at 11:09 AM, Benjamin Jonen <bj...@gm...> wrote: >>> 2) The coloring and the way the lines curve around looks very nice to >>> me. I remember that the Excel charts did not have this nice look >>> before Excel 2007. Can I achieve similar effects with matplotlib? I'm >>> not really sure what creates this nice look, so this question is of >>> course a little fuzzy. >> >> Maybe you are thinking about the smoothness of the curves. Even you >> have spaced points, they don't do sharp edges. In my opinion, for >> scientific research, they shouldn't be concealed in the general case, >> and this is, I think, the main target of MPL. >> >> Nevertheless, if in your case it makes sense and you want them to be >> smooth, you can do it through SciPy, applying a interpolation scheme. >> >> tck=scipy.interpolate(datax, datay) >> datax_n=np.arange(datax.min(), datax.max(), len(datax)*20) >> datay_n=sicpy.interpolate(splev(datax_n,tck,der=0) >> >> And then you plot datax_n and datay_n. >> >> http://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html#spline-interpolation-in-1-d-procedural-interpolate-splxxx >> >> ------------------------------------------------------------------------------ >> 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: Felix P. <fe...@ne...> - 2012-07-21 17:37:59
|
Have you ever been in a talk where someone uses 100% green on a slide? The result is usually that no one can see what is shown unless it is a really large green area. Green should be dark and not (0, 255, 0)! The same applies to cyan and yellow. Were the colors like you want them, they would be useless for lines and plot symbols. My guess is that this happens because rod cells which are the most light sensitive ones have very similar wavelength responsiveness to the cone cells (the ones for color vision) which react to green light. Hence, you just don't have as much contrast for green text on a white background as you have for example for blue text. Also, green on black is much easier to read than blue or red on black by the same argument. Am 21.07.2012 um 19:21 schrieb klo uo: > Hi, > > I read previous mail about "colormaps" which reminded me to a question > I had about MPL colors. > Colors in MPL plots are dark, and pale, and not is some specific color > theme but it's just pale dark. > I thought that usually people make plots brighter (as more attractive ;) ) > > If you can, have a look at this plot I just made, and same image with > same named colors as set by CorelDraw for example: > http://i.imgur.com/y29xD.png > > As you all probably know cyan is not cyan but teal, and green is with > 50% green, and every color is not as expected, except red and blue. > I don't know much about color systems and color space, so thought to > ask why is it like this and if colors can be somehow differently > defined at user end? > > ------------------------------------------------------------------------------ > 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: klo uo <kl...@gm...> - 2012-07-21 17:21:36
|
Hi, I read previous mail about "colormaps" which reminded me to a question I had about MPL colors. Colors in MPL plots are dark, and pale, and not is some specific color theme but it's just pale dark. I thought that usually people make plots brighter (as more attractive ;) ) If you can, have a look at this plot I just made, and same image with same named colors as set by CorelDraw for example: http://i.imgur.com/y29xD.png As you all probably know cyan is not cyan but teal, and green is with 50% green, and every color is not as expected, except red and blue. I don't know much about color systems and color space, so thought to ask why is it like this and if colors can be somehow differently defined at user end? |
From: Mark L. <bre...@ya...> - 2012-07-21 11:33:31
|
On 21/07/2012 05:15, Benjamin Root wrote: > On Fri, Jul 20, 2012 at 10:55 PM, C M <cmp...@gm...> 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 >> >> > Not automatically, but you can always manually break up a line of text with > a '\n' in the string. Automatic/intelligent line wrapping has always been > a requested feature, but would be very difficult to implement correctly. > Therefore, the recommendation is for manual usage of newlines. For the OP an example is here http://matplotlib.sourceforge.net/examples/pylab_examples/barchart_demo2.html > > Cheers! > 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: Benjamin R. <ben...@ou...> - 2012-07-21 04:16:07
|
On Fri, Jul 20, 2012 at 10:55 PM, C M <cmp...@gm...> 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 > > Not automatically, but you can always manually break up a line of text with a '\n' in the string. Automatic/intelligent line wrapping has always been a requested feature, but would be very difficult to implement correctly. Therefore, the recommendation is for manual usage of newlines. Cheers! Ben Root |
From: C M <cmp...@gm...> - 2012-07-21 03:55:58
|
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 |