Loading [MathJax]/jax/output/HTML-CSS/jax.js

First time here? Check out the FAQ!

Ask Your Question
2

Density plot aspect ratio

asked 11 years ago

wlp2 gravatar image

updated 11 years ago

Shashank gravatar image

I am trying to make a very high aspect ratio density plot, but I can't seem to manually adjust the aspect ratio, and the automatically generated plot ends up being just a very pretty line. What am I doing wrong? The code I'm using is below. I don't know how to use Markdown to make it look pretty, sorry :(

print("Diffusion length data")
k = 1.381E-023
T = 300
q = 1.602E-019
var('ue')
De(ue) = ue*k*T/q
var('tau')
Le = (tau*10^-9*De)^(1/2)
D = density_plot(Le*10^4, (tau, 0, 3), (ue, 0, 500), cmap="jet")
D.show(aspect_ratio=0.05)
Preview: (hide)

2 Answers

Sort by » oldest newest most voted
1

answered 11 years ago

ppurka gravatar image

updated 11 years ago

kcrisman gravatar image

Thanks for reporting. It is a bug in Sage. Opened ticket 15314 to track this.

Update: Proposed fix is in ticket 15315.

Edit by kcrisman - here is what aspect_ratio=0.01 looks like with the proposed fix.

image description

Preview: (hide)
link

Comments

This is fantastic! I need to add a contour plot, some data points, and axes labels so I have more work to do. I tried to apply the patch according to the directions in the "Reviewing a patch" section of the developer walkthrough, but got an error that says 'abort: failed to synchronize metadata for "sage/plot/graphics.py"'. Is there another way to apply this patch? Can I edit the source myself without large risk of ruining my sage install? As an end-user this is both a little terrifying and awesome to me at the same time.)

wlp2 gravatar imagewlp2 ( 11 years ago )

You can try the following to patch it manually and rebuild sage. I will assume that `SAGE_ROOT` is the directory where your sage is installed, i.e., to run sage you need to actually run `SAGE_ROOT/sage`. cdSAGEROOT/devel/sage patch -p1 --dry-run -i /path/to/trac_15315-density_and_matrix_plot_aspect_ratio.patch patch -p1 -i /path/to/trac_15315-density_and_matrix_plot_aspect_ratio.patch # If above had no errors ../../sage -b # rebuild sage

ppurka gravatar imageppurka ( 11 years ago )

That worked perfectly, thanks ppurka! Also thanks kcrisman, you guys responded very quickly.

wlp2 gravatar imagewlp2 ( 11 years ago )
0

answered 11 years ago

kcrisman gravatar image

updated 11 years ago

This is a bug in how we pass aspect ratio in to plots using matplotlib's imshow command, and thank you for finding it; the typical use cases have been square inputs! I've opened Trac 15315 for this. I tried to look for a few workarounds, but the things I tried for accessing the aspect ratio of the underlying mpl figure wouldn't propagate (for the cognoscenti, even doing savefig now doesn't work in Sage).

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 11 years ago

Seen: 682 times

Last updated: Oct 21 '13