## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### Activity
• 02:05
ImportanceOfBeingErnest commented #15313
• 01:49
jklymak commented #15313
• 01:15
AlexLuya commented #15310
• 00:47
ImportanceOfBeingErnest commented #15313
• Sep 22 23:52
timhoffm synchronize #15324
• Sep 22 23:51
timhoffm synchronize #15324
• Sep 22 23:50
timhoffm synchronize #15324
• Sep 22 23:29
timhoffm synchronize #15324
• Sep 22 23:25
anntzer commented #15313
• Sep 22 21:33

timhoffm on v3.2.x

Backport PR #15326: List of min… Merge pull request #15327 from … (compare)

• Sep 22 21:33
timhoffm closed #15327
• Sep 22 21:02
ImportanceOfBeingErnest commented #15313
• Sep 22 20:58
anntzer commented #15313
• Sep 22 20:02
jklymak commented #14421
• Sep 22 19:13
meeseeksdev[bot] milestoned #15327
• Sep 22 19:13
meeseeksmachine opened #15327
• Sep 22 19:12

dstansby on master

List of minimal versions of dep… Merge pull request #15326 from … (compare)

• Sep 22 19:12
dstansby closed #15326
• Sep 22 19:12
dstansby milestoned #15326
• Sep 22 19:12
dstansby labeled #15326
hannah
@story645
Interest in installing that for the docs?
Thomas A Caswell
@tacaswell
Yes, I am sold on the fact that it works in docstrings
Jody Klymak
@jklymak
Do we want $y = \sum x_i$ showing up in the docstrrings that don't do a rendering step?
Thomas A Caswell
@tacaswell
that is better than :math:'y = \sum x_i' (the ticks are not quite right)
Jody Klymak
@jklymak
Agreed if thats what we do now
Andres Reyes
@AndresMiguelReyes

Does anyone have the interest and/or the time to help me out with an implementation of an interactive figure using WebAgg backend and Django? I'm still pretty stuck. My understanding is that implementing an interactive figure is straightforward. This documentation lead me to believe that all that needs to be done to implement an interactive figure is link the messages the websocket is sent to event handlers in a figure. I did that for my Django figure, but it seems to only render the changed objects in the figure rather than all objects in the figure. Here is my SO post:

https://stackoverflow.com/questions/57795596/interactive-webagg-plot-using-django-channels-not-rendering-entire-figure

I'd like to get to know more about how the webagg backend works and hopefully, eventually get blit to work with webagg. My ultimate goal is to get an interactive magnetogram into a django website.
Ryan May
@dopplershift
Has our PyPI page always been this spartan?
Jody Klymak
@jklymak
If you don't already know what it is, you don't want it ;-)
But seriously, numpy's is not really different? Did you have an example of a page that would look better?
Bryan Van de Ven
@bryevdv

we do that with

long_description=open("README.md").read(),
long_description_content_type="text/markdown",

in setup.py

they added markdown support last year IIRC
might require twine specifically be used for publishing (probably the case already I imagine, tho)
Antony Lee
@anntzer
you can more or less put whatever you want there
hannah
@story645
Totally off topic, but @bryevdv I :heart: that you include a gallery on the pipy page
Bryan Van de Ven
@bryevdv
well, I included a gallery on the GH page and it came along for the ride to PyPI :)
Ryan May
@dopplershift
I think our PyPI page may have had more before, but gotten changed when they rolled out warehouse. I noticed for MetPy, we used to have the README on there. Now it's just the one-line description. In my case it was because of how I was including the README.
hannah
@story645
There's nothing quite like having a friend go through a bootcamp to build a fairly robust chat log of a fair amount of the newbie pain points in the api
Till Stensitzki
@Tillsten
@anntzer I wanted to test mplcairo, but there is no windows wheel correct?
Antony Lee
@anntzer
There's a windows wheel, it's osx which i don't know how to handle.
Will release 0.2 "soon", too
Till Stensitzki
@Tillsten
Maybe not for 3.7?
Antony Lee
@anntzer
Ah, indeed
Will fix that
Antony Lee
@anntzer
@Tillsten master wheels are available at https://dev.azure.com/matplotlib/mplcairo/_build/results?buildId=6099 (under "artifacts"), do you want to try the windows wheel before I cut a release?
kirk86
@kirk86
Hi folks I have silly question, when I use the plot_surface with norm=LogNorm() I get the following plot
Is that because there are negative values?
Without the norm=LogNorm() plot seems fine without holes
Benjamin Root
@WeatherGod
quite likely the negative values would cause problems with LogNorm()
kirk86
@kirk86
I was thinking about it had to verify it to exclude anything else
thanks
Aleksey Bilogur
@ResidentMario
matplotlib includes pytest-mpl visual tests in the tests that are automatically run on CI, I assume. I suppose that for many PRs and merges, the visualization outputs that are tested don't change. However, how does matplotlib handle things when a PR changes a test visualization? Do you have to flip a switch somewhere to tell CI to update its base image references?
Asking because I have a lot of pytest-mpl tests for one of my projects, and I'm not sure when/how I should be running them.
Jody Klymak
@jklymak
The baseline test images are in the repository so you just commit anew test image.
Aleksey Bilogur
@ResidentMario
Oh. How do you keep the repo size from exploding, then? Image changes are much bigger than code changes. Been having issues with long git clone times because of this with my own stuff.
Jody Klymak
@jklymak
You don’t allow many image changes
@QuLogic
Our repo is also not exactly tiny any more, because of that
hannah
@story645
Mpl gets a shout-out there
Antony Lee
@anntzer
mplcairo 0.2 has been released on pypi :)
hannah
@story645
Yay!
hannah
@story645
And I can send you the password if you'd like to make your own announcements 😉
Kirill Balunov
@godaygo

Hi all! The documentation for the contourf does not say that X and Y should be sorted, although this may be obvious to everyone. But on the other hand, the contour works fine, that is, it correctly determines the levels. For example:

import numpy as np
import matplotlib.pyplot as plt
X = np.linspace(0, 10, 11)
Y = np.linspace(0, 10, 11)
np.random.shuffle(Y)
Z = X + Y
A = np.vstack([X, 3*Y]).T
coef, _, _, _ = np.linalg.lstsq(A, Z, rcond=None)
a1, a2 = coef
X_1, Y_1 = np.meshgrid(X, Y)
Z_1 = a1*X_1 + a2*Y_1
X_2, Y_2 = np.meshgrid(np.sort(X), np.sort(Y))
Z_2 = a1*X_2 + a2*Y_2
fig, (ax1, ax2, ax3, ax4) = plt.subplots(1, 4, figsize=(17,4))
cntr1 = ax1.contour(X_1, Y_1, Z_1, levels=20)
cntr2 = ax2.contourf(X_1, Y_1, Z_1, levels=20)
cntr3 = ax3.contour(X_2, Y_2, Z_2, levels=20)
cntr4 = ax4.contourf(X_2, Y_2, Z_2, levels=20)
plt.show()

If this is expected, I think it would be nice to add a note for the contourf that X and Y should be sorted.

Antony Lee
@anntzer
@story645 thanks for doing the com' for me :)