8000 Number of levels in contour can be larger than the requested number · Issue #9088 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content
Number of levels in contour can be larger than the requested number #9088
Closed
@mboquien

Description

@mboquien

Bug report

Bug summary
The documentation of contour() specifies that contour(X,Y,Z,N) makes a contour with “up to N automatically-chosen levels”. In practice the number of contours can be larger than requested.

Code for reproduction

r = linspace(-3., 3., 1000)
x, y = np.meshgrid(r, r)
z = (1. - x/2. + x**5. + y**3.) * np.exp(-x**2. - y**2.)
for i in range(1, 11):
    print("Up to {} levels requested. {} levels provided.".format(i, len(plt.contour(x, y, z, i).levels)))

Actual outcome

Up to 1 levels requested. 2 levels provided.
Up to 2 levels requested. 3 levels provided.
Up to 3 levels requested. 4 levels provided.
Up to 4 levels requested. 4 levels provided.
Up to 5 levels requested. 6 levels provided.
Up to 6 levels requested. 7 levels provided.
Up to 7 levels requested. 7 levels provided.
Up to 8 levels requested. 9 levels provided.
Up to 9 levels requested. 9 levels provided.
Up to 10 levels requested. 9 levels provided.

Expected outcome

The number of levels provided should never be larger than the number of levels requesting, if the documentation is to be believed. The exact number would be ideal

Matplotlib version

  • Operating System: Arch linux
  • Matplotlib Version: 2.0.2
  • Python Version: 3.6.2
    Official arch packages.

Note: probably related to issue #4537.

Metadata

Metadata

Assignees

No one assigned

    Labels

    DocumentationGood first issueOpen a pull request against these issues if there are no active ones!

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0