| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| """ | ||
| Show the different tick formatters | ||
| """ | ||
|
|
||
| import numpy as np | ||
| import matplotlib.pyplot as plt | ||
| import matplotlib.ticker as ticker | ||
|
|
||
|
|
||
| # Setup a plot such that only the bottom spine is shown | ||
| def setup(ax): | ||
| ax.spines['right'].set_color('none') | ||
| ax.spines['left'].set_color('none') | ||
| ax.yaxis.set_major_locator(ticker.NullLocator()) | ||
| ax.spines['top'].set_color('none') | ||
| ax.xaxis.set_ticks_position('bottom') | ||
| ax.tick_params(which='major', width=1.00, length=5) | ||
| ax.tick_params(which='minor', width=0.75, length=2.5, labelsize=10) | ||
| ax.set_xlim(0, 5) | ||
| ax.set_ylim(0, 1) | ||
| ax.patch.set_alpha(0.0) | ||
|
|
||
|
|
||
| plt.figure(figsize=(8, 6)) | ||
| n = 6 | ||
|
|
||
| # Null formatter | ||
| ax = plt.subplot(n, 1, 1) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.MultipleLocator(1.00)) | ||
| ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25)) | ||
| ax.xaxis.set_major_formatter(ticker.NullFormatter()) | ||
| ax.xaxis.set_minor_formatter(ticker.NullFormatter()) | ||
| ax.text(0.0, 0.5, "NullFormatter()", fontsize=16, transform=ax.transAxes) | ||
|
|
||
| # Fixed formatter | ||
| ax = plt.subplot(n, 1, 2) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.MultipleLocator(1.0)) | ||
| ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25)) | ||
| majors = ["", "0", "1", "2", "3", "4", "5"] | ||
| ax.xaxis.set_major_formatter(ticker.FixedFormatter(majors)) | ||
| minors = [""] + ["%.2f" % (x-int(x)) if (x-int(x)) | ||
| else "" for x in np.arange(0, 5, 0.25)] | ||
| ax.xaxis.set_minor_formatter(ticker.FixedFormatter(minors)) | ||
| ax.text(0.0, 0.5, "FixedFormatter(['', '0', '1', ...])", | ||
| fontsize=15, transform=ax.transAxes) | ||
|
|
||
|
|
||
| # Func formatter | ||
| def major_formatter(x, pos): | ||
| return "[%.2f]" % x | ||
|
|
||
|
|
||
| ax = plt.subplot(n, 1, 3) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.MultipleLocator(1.00)) | ||
| ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25)) | ||
| ax.xaxis.set_major_formatter(ticker.FuncFormatter(major_formatter)) | ||
| ax.text(0.0, 0.5, 'FuncFormatter(lambda x, pos: "[%.2f]" % x)', | ||
| fontsize=15, transform=ax.transAxes) | ||
|
|
||
|
|
||
| # FormatStr formatter | ||
| ax = plt.subplot(n, 1, 4) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.MultipleLocator(1.00)) | ||
| ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25)) | ||
| ax.xaxis.set_major_formatter(ticker.FormatStrFormatter(">%d<")) | ||
| ax.text(0.0, 0.5, "FormatStrFormatter('>%d<')", | ||
| fontsize=15, transform=ax.transAxes) | ||
|
|
||
| # Scalar formatter | ||
| ax = plt.subplot(n, 1, 5) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.AutoLocator()) | ||
| ax.xaxis.set_minor_locator(ticker.AutoMinorLocator()) | ||
| ax.xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True)) | ||
| ax.text(0.0, 0.5, "ScalarFormatter()", fontsize=15, transform=ax.transAxes) | ||
|
|
||
| # StrMethod formatter | ||
| ax = plt.subplot(n, 1, 6) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.MultipleLocator(1.00)) | ||
| ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25)) | ||
| ax.xaxis.set_major_formatter(ticker.StrMethodFormatter("{x}")) | ||
| ax.text(0.0, 0.5, "StrMethodFormatter('{x}')", | ||
| fontsize=15, transform=ax.transAxes) | ||
|
|
||
| plt.show() | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,93 @@ | ||
| """ | ||
| Show the different tick locators | ||
| """ | ||
|
|
||
| import numpy as np | ||
| import matplotlib.pyplot as plt | ||
| import matplotlib.ticker as ticker | ||
|
|
||
|
|
||
| # Setup a plot such that only the bottom spine is shown | ||
| def setup(ax): | ||
| ax.spines['right'].set_color('none') | ||
| ax.spines['left'].set_color('none') | ||
| ax.yaxis.set_major_locator(ticker.NullLocator()) | ||
| ax.spines['top'].set_color('none') | ||
| ax.xaxis.set_ticks_position('bottom') | ||
| ax.tick_params(which='major', width=1.00) | ||
| ax.tick_params(which='major', length=5) | ||
| ax.tick_params(which='minor', width=0.75) | ||
| ax.tick_params(which='minor', length=2.5) | ||
| ax.set_xlim(0, 5) | ||
| ax.set_ylim(0, 1) | ||
| ax.patch.set_alpha(0.0) | ||
|
|
||
|
|
||
| plt.figure(figsize=(8, 8)) | ||
| n = 8 | ||
|
|
||
| # Null Locator | ||
| ax = plt.subplot(n, 1, 1) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.NullLocator()) | ||
| ax.xaxis.set_minor_locator(ticker.NullLocator()) | ||
| ax.text(0.0, 0.5, "NullLocator()", fontsize=14, transform=ax.transAxes) | ||
|
|
||
| # Multiple Locator | ||
| ax = plt.subplot(n, 1, 2) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.MultipleLocator(0.5)) | ||
| ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.1)) | ||
| ax.text(0.0, 0.5, "MultipleLocator(0.5)", fontsize=14, | ||
| transform=ax.transAxes) | ||
|
|
||
| # Fixed Locator | ||
| ax = plt.subplot(n, 1, 3) | ||
| setup(ax) | ||
| majors = [0, 1, 5] | ||
| ax.xaxis.set_major_locator(ticker.FixedLocator(majors)) | ||
| minors = np.linspace(0, 1, 11)[1:-1] | ||
| ax.xaxis.set_minor_locator(ticker.FixedLocator(minors)) | ||
| ax.text(0.0, 0.5, "FixedLocator([0, 1, 5])", fontsize=14, | ||
| transform=ax.transAxes) | ||
|
|
||
| # Linear Locator | ||
| ax = plt.subplot(n, 1, 4) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.LinearLocator(3)) | ||
| ax.xaxis.set_minor_locator(ticker.LinearLocator(31)) | ||
| ax.text(0.0, 0.5, "LinearLocator(numticks=3)", | ||
| fontsize=14, transform=ax.transAxes) | ||
|
|
||
| # Index Locator | ||
| ax = plt.subplot(n, 1, 5) | ||
| setup(ax) | ||
| ax.plot(range(0, 5), [0]*5, color='White') | ||
| ax.xaxis.set_major_locator(ticker.IndexLocator(base=.5, offset=.25)) | ||
| ax.text(0.0, 0.5, "IndexLocator(base=0.5, offset=0.25)", | ||
| fontsize=14, transform=ax.transAxes) | ||
|
|
||
| # Auto Locator | ||
| ax = plt.subplot(n, 1, 6) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.AutoLocator()) | ||
| ax.xaxis.set_minor_locator(ticker.AutoMinorLocator()) | ||
| ax.text(0.0, 0.5, "AutoLocator()", fontsize=14, transform=ax.transAxes) | ||
|
|
||
| # MaxN Locator | ||
| ax = plt.subplot(n, 1, 7) | ||
| setup(ax) | ||
| ax.xaxis.set_major_locator(ticker.MaxNLocator(4)) | ||
| ax.xaxis.set_minor_locator(ticker.MaxNLocator(40)) | ||
| ax.text(0.0, 0.5, "MaxNLocator(n=4)", fontsize=14, transform=ax.transAxes) | ||
|
|
||
| # Log Locator | ||
| ax = plt.subplot(n, 1, 8) | ||
| setup(ax) | ||
| ax.set_xlim(10**3, 10**10) | ||
| ax.set_xscale('log') | ||
| ax.xaxis.set_major_locator(ticker.LogLocator(base=10.0, numticks=15)) | ||
| ax.text(0.0, 0.5, "LogLocator(base=10, numticks=15)", | ||
| fontsize=15, transform=ax.transAxes) | ||
|
|
||
| plt.show() |
| Back | FazBrowse Home | New Git URL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityThis is a bit confusing, not being the default, but maybe it should be?
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityI'm not sure I understand what you mean
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityI mean it might be confusing for users to see the documentation use this look, with different tick lengths/fontsizes for major/minor, when it's not really how it would look by default.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityOk, now I get your point. The idea was to emphasize the fact that you can control major / minor ticks / labels separately and the different font sizes really suggest this (at least to me).
Since this is a submission to the gallery, is it important to enforce the defaults ?
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityThe whole goal of this example is to show what you can do with axes and ticks. That means changing the default. I don't see how you could do something identical with the defaults. I also don't see how this could confuse the user: the example is well written and clear.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualitySorry, was confusing this with the other PR and where it was going.
Also, I thought it looked nice enough to be a default, but I think the time for changing that has passed.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.