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
(2) |
2
(3) |
3
(5) |
4
(10) |
5
(1) |
6
|
7
(1) |
8
(1) |
9
(5) |
10
(5) |
11
(5) |
12
|
13
(1) |
14
(3) |
15
(8) |
16
(9) |
17
(16) |
18
(1) |
19
(2) |
20
(4) |
21
(8) |
22
(10) |
23
(9) |
24
(8) |
25
(2) |
26
(1) |
27
(11) |
28
(9) |
29
(9) |
30
(15) |
31
(6) |
|
|
Hmmmmm. This stretches the background image (mhd data) to fit, leaving the price line-plot not lining up with the background density plot. Now I have to figure out how to make the density plot scale to fit... -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320p40330.html Sent from the matplotlib - users mailing list archive at Nabble.com.
for the record I had to put the buffer on the set_limit commands, not the "extent" of the image, like so: priceDiff = max(price)-min(price) diffQuant = priceDiff / 4 minQuant = min(price)-diffQuant maxQuant = max(price)+diffQuant pl.set_ylim([minQuant,maxQuant]) and also include: pl.set_xlim([min(date),max(date)]) to get it working just right. Just for posterity. Thanks again~ -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320p40329.html Sent from the matplotlib - users mailing list archive at Nabble.com.
Thank you! Success! Yeah, I learned a little from this little exercise. I will set the "extent" on the image to include a buffer in the y-axis, a certain percentage of max(price)-min(price), for some durations. If there is only a single trade during any duration, well... I need handle that as a special case, now that you mention it. It doesn't like that, basically. I need to go back and get the second-latest trade, and plot it *outside* the graph, or some variant or hack of that, so that it draws a line to the most recent trade, and then create another artificial point at the same price at the current time, to indicate a flat market... Thanks again for your help. I've been at wit's end trying to fix that... Cheers~ -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320p40328.html Sent from the matplotlib - users mailing list archive at Nabble.com.
On 2013年01月26日 7:59 PM, Todamont wrote: > Ok, here is the distilled code that displays the scientific formatting > failure I'm trying to fix. I had to wait until the market gave me a snapshot > that triggered this bug. Here is a quick link to the image I get when I run > this program: http://imgur.com/77DUbZp What you were seeing is not an exponent, it is an offset. The attached modification tells mpl not to use an offset, and it also simplifies things by omitting the twinx, which is not needed, and by omitting all the extra fussing with formatters, likewise not needed. The algorithm for automatically choosing an offset (when an offset is desired) is known to be over-eager, but it turns out to be surprisingly difficult to come up with a better algorithm that works in a wide range of circumstances. Now, are you sure you really always want to set the y limits to exactly your y data limits? You will never have only a single point? Or only identical y values? Eric > > I greatly appreciate your help with this. Any suggestions are welcome. Also, > this code will become FOSS when it is completed. Do you think it is related > to the way I'm loading in the data with the "extent" command and then making > a subplot? I'm generating a custom heatmap of the market density for the > background, so I sort of need that... > > #!/usr/bin/env python2.7 > # coding: utf-8 > import matplotlib > from matplotlib.figure import Figure > from matplotlib.backends.backend_agg import FigureCanvasAgg > from datetime import datetime > import matplotlib.dates as dates > import matplotlib.pyplot as plt > import numpy as np > from matplotlib.ticker import ScalarFormatter, FormatStrFormatter, > FuncFormatter > import matplotlib.image as mpimg > > date = [ 734894.994583, 734894.995313, 734894.996042, 734894.997384, > 734894.998032 ] > price = [ 17.37, 17.30001, 17.30001, 17.39, 17.39 ] > graphdate = [] > for i in date: > graphdate.append(i) > > graph = np.zeros((100,100,3)) > fig=Figure(figsize=(5.5,2.4)) > pl=fig.add_subplot(111) > image=pl.imshow(graph,aspect="auto",extent=(min(date),max(date),min(price),max(price))) > fig.subplots_adjust(top=0.92,bottom=0.15,left=0.1,right=0.95) > > # add plot of value across time > pl.plot_date(zip(graphdate),zip(price),'-',color='blue',lw='1',alpha=1) > matplotlib.rcParams.update({'font.size': 5}) > > locator = dates.AutoDateLocator() > pl.set_ylim([min(price),max(price)]) > ax2=pl.twinx() > ax2.set_ylim([min(price),max(price)]) > > formatter = ScalarFormatter() > formatter.set_scientific(False) > formatter.set_powerlimits((-1000000000,10000)) > pl.yaxis.set_major_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) > pl.yaxis.set_major_formatter(formatter) > pl.yaxis.set_minor_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) > pl.yaxis.set_minor_formatter(formatter) > pl.set_autoscaley_on(False) > yfm = pl.yaxis.get_major_formatter() > yfm.set_powerlimits([ -100000000000, 10000]) > > ax2.yaxis.set_major_formatter(formatter) > ax2.yaxis.set_major_formatter(ScalarFormatter(useOffset=False)) > ax2.yaxis.set_major_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) > ax2.yaxis.set_major_formatter(formatter) > ax2.yaxis.set_minor_formatter(ScalarFormatter(useOffset=False)) > ax2.yaxis.set_minor_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) > ax2.yaxis.set_major_formatter(formatter) > ax2.set_autoscaley_on(False) > yfm = ax2.yaxis.get_major_formatter() > yfm.set_powerlimits([ -100000000000, 10000]) > > period = 298; # duration in seconds for this graph > seconds = dates.SecondLocator(interval=30) # plot by 30-second increment > secondsFmt = dates.DateFormatter('%-I:%M:%S%P',tz=None) > pl.xaxis.set_major_locator(seconds) > pl.xaxis.set_major_formatter(secondsFmt) > > labels = pl.get_xticklabels() > for label in labels: > label.set_rotation(45) > > pl.xaxis.grid(which='major',color='white', linestyle='--', linewidth=0.5, > alpha=0.15) > pl.xaxis.grid(which='minor',color='white', linestyle='--', linewidth=0.5, > alpha=0.15) > pl.yaxis.grid(which='major',color='white', linestyle='--', linewidth=0.5, > alpha=0.15) > pl.yaxis.grid(which='minor',color='white', linestyle='--', linewidth=0.5, > alpha=0.15) > > canvas=FigureCanvasAgg(fig) > bigName = "sci_formatting_fail.png" # image name > canvas.print_figure(bigName,dpi=200) # create date/timestamped file > print "grapher completed" > > > > -- > View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320p40326.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnnow-d2d > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Ok, here is the distilled code that displays the scientific formatting failure I'm trying to fix. I had to wait until the market gave me a snapshot that triggered this bug. Here is a quick link to the image I get when I run this program: http://imgur.com/77DUbZp I greatly appreciate your help with this. Any suggestions are welcome. Also, this code will become FOSS when it is completed. Do you think it is related to the way I'm loading in the data with the "extent" command and then making a subplot? I'm generating a custom heatmap of the market density for the background, so I sort of need that... #!/usr/bin/env python2.7 # coding: utf-8 import matplotlib from matplotlib.figure import Figure from matplotlib.backends.backend_agg import FigureCanvasAgg from datetime import datetime import matplotlib.dates as dates import matplotlib.pyplot as plt import numpy as np from matplotlib.ticker import ScalarFormatter, FormatStrFormatter, FuncFormatter import matplotlib.image as mpimg date = [ 734894.994583, 734894.995313, 734894.996042, 734894.997384, 734894.998032 ] price = [ 17.37, 17.30001, 17.30001, 17.39, 17.39 ] graphdate = [] for i in date: graphdate.append(i) graph = np.zeros((100,100,3)) fig=Figure(figsize=(5.5,2.4)) pl=fig.add_subplot(111) image=pl.imshow(graph,aspect="auto",extent=(min(date),max(date),min(price),max(price))) fig.subplots_adjust(top=0.92,bottom=0.15,left=0.1,right=0.95) # add plot of value across time pl.plot_date(zip(graphdate),zip(price),'-',color='blue',lw='1',alpha=1) matplotlib.rcParams.update({'font.size': 5}) locator = dates.AutoDateLocator() pl.set_ylim([min(price),max(price)]) ax2=pl.twinx() ax2.set_ylim([min(price),max(price)]) formatter = ScalarFormatter() formatter.set_scientific(False) formatter.set_powerlimits((-1000000000,10000)) pl.yaxis.set_major_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) pl.yaxis.set_major_formatter(formatter) pl.yaxis.set_minor_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) pl.yaxis.set_minor_formatter(formatter) pl.set_autoscaley_on(False) yfm = pl.yaxis.get_major_formatter() yfm.set_powerlimits([ -100000000000, 10000]) ax2.yaxis.set_major_formatter(formatter) ax2.yaxis.set_major_formatter(ScalarFormatter(useOffset=False)) ax2.yaxis.set_major_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) ax2.yaxis.set_major_formatter(formatter) ax2.yaxis.set_minor_formatter(ScalarFormatter(useOffset=False)) ax2.yaxis.set_minor_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) ax2.yaxis.set_major_formatter(formatter) ax2.set_autoscaley_on(False) yfm = ax2.yaxis.get_major_formatter() yfm.set_powerlimits([ -100000000000, 10000]) period = 298; # duration in seconds for this graph seconds = dates.SecondLocator(interval=30) # plot by 30-second increment secondsFmt = dates.DateFormatter('%-I:%M:%S%P',tz=None) pl.xaxis.set_major_locator(seconds) pl.xaxis.set_major_formatter(secondsFmt) labels = pl.get_xticklabels() for label in labels: label.set_rotation(45) pl.xaxis.grid(which='major',color='white', linestyle='--', linewidth=0.5, alpha=0.15) pl.xaxis.grid(which='minor',color='white', linestyle='--', linewidth=0.5, alpha=0.15) pl.yaxis.grid(which='major',color='white', linestyle='--', linewidth=0.5, alpha=0.15) pl.yaxis.grid(which='minor',color='white', linestyle='--', linewidth=0.5, alpha=0.15) canvas=FigureCanvasAgg(fig) bigName = "sci_formatting_fail.png" # image name canvas.print_figure(bigName,dpi=200) # create date/timestamped file print "grapher completed" -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320p40326.html Sent from the matplotlib - users mailing list archive at Nabble.com.
Hi Skipper, I think you are missing one bin in your plot... but anyway, this is how I'd do the same plot (filled step plot): import matplotlib.pyplot as plt import numpy as np t_sec = np.arange(6) velocity = np.array([24., 33., 40., 45., 48., 49.]) width = t_sec[1] - t_sec[0] plt.bar(t_sec, velocity, width=width, facecolor='b', edgecolor='') xx = np.ravel(zip(t_sec, t_sec + width)) yy = np.ravel(zip(velocity, velocity)) plt.plot(xx, yy, 'k') plt.show() I think this is a bit simpler Cheers, Eduardo Banados On Sun, Jan 27, 2013 at 12:35 AM, Skipper Seabold <jss...@gm...>wrote: > This has been asked before, and I just filed a ticket [1]. Can anyone > think of a better way to do something like this? The fill_between below is > pretty suboptimal IMO. > > import matplotlib.pyplot as plt > import numpy as np > > t_sec = np.arange(6) > velocity = np.array([24., 33., 40., 45., 48., 49.]) > > fig, ax = plt.subplots(figsize=(10,6)) > lines = ax.plot(t_sec, velocity, 'mo') > ax.margins(.01) > ax.grid(False) > ax.set_ylim(0, 53); > steps = ax.step(t_sec, velocity, where='post', color='black') > filed = ax.fill_between(np.linspace(0, 5, 1001), 0, > np.r_[np.repeat(velocity[:-1], 200), 5.]) > > Skipper > > [1] https://github.com/matplotlib/matplotlib/issues/1709 > > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnnow-d2d > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- Eduardo Bañados Torres
I'm trying to boil this thing down to a simple example program for you, it's part of a big project so it's kind of tough, all the data is stored in RAM, never in files... It seems like there should be some way to just tell matplotlib to NEVER use scientific notation for the axes... I'd be willing to alter my matplotlibrc or even my matplotlib build itself, because this is the only application I use it for. I can't even seem to find the part of the code backend that is responsible for this weird behavior, though. -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320p40324.html Sent from the matplotlib - users mailing list archive at Nabble.com.
On 2013年01月26日 5:33 PM, Todamont wrote: > This is the relevant code: Thanks, but what would really help is not what you think is the relevant code, but a completely self-contained *minimal* script, so that I can run it as-is, then modify it (probably only slightly), and return the modified version. I suspect that using plot_date and a few fake data points, you can reproduce the problem. I doubt that it matters whether you use pyplot with an interactive backend, or use the OO form with FigureCanvasAgg. Eric > > import sys, shutil > import matplotlib > from matplotlib.figure import Figure > from matplotlib.backends.backend_agg import FigureCanvasAgg > from mhd_scipy import load_mhd > from datetime import datetime > import matplotlib.dates as dates > import matplotlib.pyplot as plt > import numpy as np > import matplotlib.font_manager > from matplotlib.ticker import ScalarFormatter, FormatStrFormatter, > FuncFormatter > > ... > > fig=Figure(figsize=(5.5,2.4)) > pl=fig.add_subplot(111) > > pl.plot_date(zip(graphdate),zip(price),'-',color='white',lw='0.5',alpha=0.25) > pl.set_ylim([min(price),max(price)]) > ax2=pl.twinx() > ax2.set_ylim([min(price),max(price)]) > > # here is my attempt to force NON-SCIENTIFIC axes > formatter = ScalarFormatter() > formatter.set_scientific(False) > formatter.set_powerlimits((-1000000000,10000)) > pl.yaxis.set_major_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) > pl.yaxis.set_major_formatter(formatter) > pl.yaxis.set_minor_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) > pl.yaxis.set_minor_formatter(formatter) > pl.set_autoscaley_on(False) > yfm = pl.yaxis.get_major_formatter() > yfm.set_powerlimits([ -100000000000, 10000]) > > #finally, render... > canvas=FigureCanvasAgg(fig) bigName = pyArgs[4] + "_big.png" # create > image name string.. > canvas.print_figure(bigName,dpi=200) # create date/timestamped file > print "Large line-graph Created" > > > So, if I pass this thing price data that includes only 1 trade, or just a > few trades that are within a cent or two of each other, that's when the > bizarre axis scaling happens... > > > > > > > -- > View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320p40322.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnnow-d2d > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
This is the relevant code: import sys, shutil import matplotlib from matplotlib.figure import Figure from matplotlib.backends.backend_agg import FigureCanvasAgg from mhd_scipy import load_mhd from datetime import datetime import matplotlib.dates as dates import matplotlib.pyplot as plt import numpy as np import matplotlib.font_manager from matplotlib.ticker import ScalarFormatter, FormatStrFormatter, FuncFormatter ... fig=Figure(figsize=(5.5,2.4)) pl=fig.add_subplot(111) pl.plot_date(zip(graphdate),zip(price),'-',color='white',lw='0.5',alpha=0.25) pl.set_ylim([min(price),max(price)]) ax2=pl.twinx() ax2.set_ylim([min(price),max(price)]) # here is my attempt to force NON-SCIENTIFIC axes formatter = ScalarFormatter() formatter.set_scientific(False) formatter.set_powerlimits((-1000000000,10000)) pl.yaxis.set_major_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) pl.yaxis.set_major_formatter(formatter) pl.yaxis.set_minor_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) pl.yaxis.set_minor_formatter(formatter) pl.set_autoscaley_on(False) yfm = pl.yaxis.get_major_formatter() yfm.set_powerlimits([ -100000000000, 10000]) #finally, render... canvas=FigureCanvasAgg(fig) bigName = pyArgs[4] + "_big.png" # create image name string.. canvas.print_figure(bigName,dpi=200) # create date/timestamped file print "Large line-graph Created" So, if I pass this thing price data that includes only 1 trade, or just a few trades that are within a cent or two of each other, that's when the bizarre axis scaling happens... -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320p40322.html Sent from the matplotlib - users mailing list archive at Nabble.com.
On 2013年01月26日 5:16 PM, Todamont wrote: > I'm charting financial data, so scientific notation is unwanted in ALL cases. > Sometimes if I pass it data with just a few trades right near each other, it > scales so the y-axis get set to some bizare exponent, like 1.7321e1. By the > way, why would anyone ever want a plot in scientific notation where the > exponent is not a power of 10? It makes absolutely no sense whatsoever that > it would do that, it is a bug. > > So, here is the code I'm trying to use to force matplotlib to NOT use > scientific notation on the y-axis, unsuccesfully: > > formatter = ScalarFormatter() > formatter.set_scientific(False) > formatter.set_powerlimits((-10000,10000)) > pl.yaxis.set_major_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) > pl.yaxis.set_major_formatter(formatter) > pl.yaxis.set_minor_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) > pl.yaxis.set_minor_formatter(formatter) > pl.set_autoscaley_on(False) > yfm = pl.yaxis.get_major_formatter() > yfm.set_powerlimits([ -10000, 10000]) > > > None of these attempts to turn off scientific notation is working. Any > suggestions? Please? Please provide a minimal script illustrating the problem, that is, triggering the unwanted axis handling. Eric > > > > -- > View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnnow-d2d > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
I'm charting financial data, so scientific notation is unwanted in ALL cases. Sometimes if I pass it data with just a few trades right near each other, it scales so the y-axis get set to some bizare exponent, like 1.7321e1. By the way, why would anyone ever want a plot in scientific notation where the exponent is not a power of 10? It makes absolutely no sense whatsoever that it would do that, it is a bug. So, here is the code I'm trying to use to force matplotlib to NOT use scientific notation on the y-axis, unsuccesfully: formatter = ScalarFormatter() formatter.set_scientific(False) formatter.set_powerlimits((-10000,10000)) pl.yaxis.set_major_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) pl.yaxis.set_major_formatter(formatter) pl.yaxis.set_minor_formatter(FuncFormatter(lambda x, pos: '%.0f'%x)) pl.yaxis.set_minor_formatter(formatter) pl.set_autoscaley_on(False) yfm = pl.yaxis.get_major_formatter() yfm.set_powerlimits([ -10000, 10000]) None of these attempts to turn off scientific notation is working. Any suggestions? Please? -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Matplotlib-INSISTS-on-using-scientific-notation-how-do-I-make-it-STOP-tp40320.html Sent from the matplotlib - users mailing list archive at Nabble.com.