<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif">Hii Adrien</div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">I guess I have found the problem but don't know how to go about it. The documentation here (<a href="https://matplotlib.org/api/_as_gen/matplotlib.pyplot.streamplot.html" style="font-family:Arial,Helvetica,sans-serif" target="_blank">https://matplotlib.org/api/_as_gen/matplotlib.pyplot.streamplot.html</a>) says that  x and y should be:</div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif"><dl><dt style="font-family:"helvetica neue",Helvetica,"lucida grande","lucida sans unicode",geneva,verdana,sans-serif;font-size:14px"><font color="#0000ff"><em style="">x</em>, <em style="">y</em> <span class="m_4349067950444020126gmail-classifier-delimiter" style="">:</span> <span class="m_4349067950444020126gmail-classifier" style="">1d arrays</span></font></dt><dd style="margin-top:3px;margin-bottom:10px;margin-left:30px;padding:10px;font-family:"helvetica neue",Helvetica,"lucida grande","lucida sans unicode",geneva,verdana,sans-serif;font-size:14px"><font color="#0000ff">an <em style="">evenly spaced</em> grid.</font></dd><dd style="margin-top:3px;margin-bottom:10px;margin-left:30px;padding:10px;color:rgb(51,51,51);font-family:"helvetica neue",Helvetica,"lucida grande","lucida sans unicode",geneva,verdana,sans-serif;font-size:14px">but in my case although I have the same shape of the V and Omega values, it is unevenly distributed as a grid. The plev values are: [1000.  925.  850.  700.  600.  500.  400.  300.  250.  200.  150.  100.] while x varies from 0-40 N at an interval of 0.5. So apparently it produces an unevely distributed gridspace in lat-plev (xy).</dd><dd style="margin-top:3px;margin-bottom:10px;margin-left:30px;padding:10px;color:rgb(51,51,51);font-family:"helvetica neue",Helvetica,"lucida grande","lucida sans unicode",geneva,verdana,sans-serif;font-size:14px">Please let me know what you think about this.</dd><dd style="margin-top:3px;margin-bottom:10px;margin-left:30px;padding:10px;color:rgb(51,51,51);font-family:"helvetica neue",Helvetica,"lucida grande","lucida sans unicode",geneva,verdana,sans-serif;font-size:14px">Thanks</dd><dd style="margin-top:3px;margin-bottom:10px;margin-left:30px;padding:10px;color:rgb(51,51,51);font-family:"helvetica neue",Helvetica,"lucida grande","lucida sans unicode",geneva,verdana,sans-serif;font-size:14px">Dhirendra</dd></dl></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 17, 2019 at 7:51 PM <a href="mailto:vincent.adrien@gmail.com" target="_blank">vincent.adrien@gmail.com</a> <<a href="mailto:vincent.adrien@gmail.com" target="_blank">vincent.adrien@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Kumar,<br>
<br>
As far as I understand it, it looks like your issue may be due to X (and<br>
possibly Y) being 2d-array. If V and Omega are arrays with shape **(Ny,<br>
Nx)**, then X and Y should be **1d-arrays** with Nx and Ny elements<br>
respectively. For simplicity sake (I guess), there is actually a special<br>
(not very well documented) case if X and Y are 2d-arrays :<br>
- each row of X has to be the same;<br>
- each column in Y has to be same.<br>
<br>
The error that you saw suggest that the rows in your array X differ from<br>
one another.<br>
<br>
Adrien<br>
<br>
Le 17/04/2019 à 11:55, Dhirendra Kumar a écrit :<br>
> Hii Adrien<br>
> <br>
> Thanks for the reply. I have tried your example and could replicate it.<br>
> But in case of my script I have two variables:<br>
> <br>
> *V* and *Omega* having sizes:<br>
> ([('plev', 12), ('lat', 81)]))<br>
> ([('plev', 12), ('lat', 81)]))<br>
> <br>
> Plev has to be plotted on y axis and lat has to be plotted on x axis. <br>
> <br>
> I am using following lines to create the plot:<br>
> <br>
> plt.subplot(331)<br>
> plt.contourf(CC_W_CON11,cmap='RdBu')<br>
> plt.streamplot(X, Y, Omega,  V)<br>
> <br>
> This gives me an error as:<br>
> <br>
>   File<br>
> "/opt/apps/ANACONDA/lib/python3.7/site-packages/matplotlib/pyplot.py",<br>
> line 2951, in streamplot<br>
>     if data is not None else {}))<br>
>   File<br>
> "/opt/apps/ANACONDA/lib/python3.7/site-packages/matplotlib/__init__.py",<br>
> line 1810, in inner<br>
>     return func(ax, *args, **kwargs)<br>
>   File<br>
> "/opt/apps/ANACONDA/lib/python3.7/site-packages/matplotlib/axes/_axes.py",<br>
> line 4882, in streamplot<br>
>     integration_direction=integration_direction)<br>
>   File<br>
> "/opt/apps/ANACONDA/lib/python3.7/site-packages/matplotlib/streamplot.py",<br>
> line 79, in streamplot<br>
>     grid = Grid(x, y)<br>
>   File<br>
> "/opt/apps/ANACONDA/lib/python3.7/site-packages/matplotlib/streamplot.py",<br>
> line 311, in __init__<br>
>     raise ValueError("The rows of 'x' must be equal")<br>
> *ValueError: The rows of 'x' must be equal*<br>
> *<br>
> *<br>
> Could you please look if there is any mistake ??<br>
> <br>
> Thanks<br>
> <br>
> <br>
> On Wed, Apr 17, 2019 at 1:27 PM <a href="mailto:vincent.adrien@gmail.com" target="_blank">vincent.adrien@gmail.com</a><br>
> <mailto:<a href="mailto:vincent.adrien@gmail.com" target="_blank">vincent.adrien@gmail.com</a>> <<a href="mailto:vincent.adrien@gmail.com" target="_blank">vincent.adrien@gmail.com</a><br>
> <mailto:<a href="mailto:vincent.adrien@gmail.com" target="_blank">vincent.adrien@gmail.com</a>>> wrote:<br>
> <br>
>     Kumar,<br>
> <br>
>     FWIW, based on the [streamplot<br>
>     example](<a href="https://matplotlib.org/gallery/images_contours_and_fields/plot_streamplot.html" rel="noreferrer" target="_blank">https://matplotlib.org/gallery/images_contours_and_fields/plot_streamplot.html</a>)<br>
>     in the gallery, the following snippet seems to be working just fine<br>
>     (with Matplotlib 3.0.1) “even though” the amount of X and Y coordinate<br>
>     values is (Nx, Ny) = (100, 50).<br>
> <br>
>     ```python<br>
>     import numpy as np<br>
>     import matplotlib.pyplot as plt<br>
> <br>
>     # Dummy data<br>
>     w = 3<br>
>     Nx, Ny = 100, 50<br>
>     Y, X = np.mgrid[-w:w:50j, -w:w:100j]<br>
>     U = -1 - X**2 + Y<br>
>     V = 1 + X - Y**2<br>
> <br>
>     fig, ax = plt.subplots()<br>
> <br>
>     ax.streamplot(X, Y, U, V)<br>
>     ax.set_title(f"{Nx/Ny:g}× more points along X than Y")<br>
>     ```<br>
> <br>
>     Best,<br>
>     Adrien<br>
> <br>
>     Le 17/04/2019 à 08:14, Adrien VINCENT a écrit :<br>
>     > Hi Kumar,<br>
>     ><br>
>     > Could provided a snippet with a (standalone) minimal working<br>
>     example of what you have tried ?<br>
>     ><br>
>     > AFAICT, looking at<br>
>     <a href="https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.streamplot.html" rel="noreferrer" target="_blank">https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.streamplot.html</a><br>
>     it does not look like X and Y arrays of coordinates have to be of<br>
>     equal length (but the velocity arrays U and V should have relevant<br>
>     dimensions relative to X and Y).<br>
>     ><br>
>     > Best regards,<br>
>     > Adrien<br>
>     ><br>
>     ><br>
>     ><br>
>     > On April 16, 2019 11:05:01 PM GMT+02:00, Dhirendra Kumar<br>
>     <<a href="mailto:dhirendra.cub@gmail.com" target="_blank">dhirendra.cub@gmail.com</a> <mailto:<a href="mailto:dhirendra.cub@gmail.com" target="_blank">dhirendra.cub@gmail.com</a>>> wrote:<br>
>     >> Hii Folks<br>
>     >><br>
>     >> I have an array with dimension (plev: 7, lat: 81). I was trying<br>
>     to draw<br>
>     >> streamline plot for Omega and V wind [Hadley cell].  I am facing some<br>
>     >> error<br>
>     >> with* plt.streamplot* as it says that both the dimension should be of<br>
>     >> equal<br>
>     >> size (i.e. N * N ). Is there any other way to create a streamline<br>
>     plot<br>
>     >> for<br>
>     >> the data having unequal values along both the dimensions?<br>
>     >><br>
>     >> I seek help of the community in this regard.<br>
>     >><br>
>     >> I hope I framed my question correctly.  Please let me know if I<br>
>     need to<br>
>     >> clarify more details.<br>
>     >><br>
>     >> Thank you<br>
>     ><br>
> <br>
> <br>
> <br>
> -- <br>
> ========================================<br>
> Dhirendra Kumar<br>
> PhD Student<br>
> School of Environmental Sciences, JNU<br>
> New Delhi (India)<br>
> Contact: +91 9910778043<br>
> Alternate email: <a href="mailto:dhirendra.cub@outlook.com" target="_blank">dhirendra.cub@outlook.com</a><br>
> <mailto:<a href="mailto:dhirendra.cub@outlook.com" target="_blank">dhirendra.cub@outlook.com</a>><br>
> =========================================<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_4349067950444020126gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">========================================</div><div dir="ltr">Dhirendra Kumar<div>PhD Student<br></div><div>School of Environmental Sciences, JNU<br></div><div>New Delhi (India)</div><div>Contact: <font face="comic sans ms, sans-serif">+91 9910778043</font></div><div>Alternate email: <a href="mailto:dhirendra.cub@outlook.com" target="_blank">dhirendra.cub@outlook.com</a></div><div>=========================================</div></div></div></div></div></div></div></div></div></div></div></div>