Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

About linestyles: tuple not accepted in rc param file and other inconsistencies #11797

Copy link
Copy link
Open
@ImportanceOfBeingErnest

Description

This is related to #8040 and #9797, possibly #7219.

Bug report

Apart from strings like "-", "--", ":" , the linestyle can also be set as a tuple of an on/off sequence. There are however two different notations,

  • (on, off, on, off, ...) and
  • (start, (on, off, on, off, ...)).

For all of the ways to set the linestyle, only one or none of those actually work.

Most importantly there is currently no way to set an on/off linestyle via the rc file.


The following lists those combinations and whether they work or not with the respective commands.

linestyle /dashes inside plot function

command working
plt.plot([1,2], linestyle=":") ✔️
plt.plot([1,2], linestyle=(5,1,1,1))
plt.plot([1,2], linestyle=(0,(5,1,1,1))) ✔️
plt.plot([1,2], dashes=":")
plt.plot([1,2], dashes=(5,1,1,1)) ✔️
plt.plot([1,2], dashes=(0, (5,1,1,1)))

using rcParams

command working
plt.rcParams["grid.linestyle"] = ":" ✔️
plt.rcParams["grid.linestyle"] = (5,1,1,1) ✔️
plt.rcParams["grid.linestyle"] = (0,(5,1,1,1))

inside cycler using rcParams

command working
plt.rcParams["axes.prop_cycle"] += plt.cycler("linestyle", [":"]) ✔️
plt.rcParams["axes.prop_cycle"] += plt.cycler("linestyle", [(5,1,1,1)])
plt.rcParams["axes.prop_cycle"] += plt.cycler("linestyle", [(0,(5,1,1,1))]) ✔️

using rc file

command working
grid.linestyle : : ✔️
grid.linestyle : (5,1,1,1)
grid.linestyle : (0,(5,1,1,1))

inside cycler using rc file

command working
axes.prop_cycle : cycler("linestyle", [":"] ) ✔️
axes.prop_cycle : cycler("linestyle", [(5,1,1,1)] )
axes.prop_cycle : cycler("linestyle", [(0,(5,1,1,1))] )

Correlation

command string ":" tuple (5,1,1,1) tuple (0,(5,1,1,1))
plt.plot(..., linestyle=x) ✔️ ✔️
plt.plot(..., dashes=x) ✔️
plt.rcParams["grid.linestyle"] = x ✔️ ✔️
plt.rcParams["axes.prop_cycle"] += plt.cycler("linestyle", [x]) ✔️ ✔️
rc file grid.linestyle : x ✔️
rc file axes.prop_cycle : cycler("linestyle", [x] ) ✔️

I think the first thing to do here is to identify which combinations should actually work.

attn. @afvincent who has last worked on validation of linestyle rc Parameters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    API: consistencyGood first issueOpen a pull request against these issues if there are no active ones!Open a pull request against these issues if there are no active ones!keepItems to be ignored by the “Stale” Github ActionItems to be ignored by the “Stale” Github Actiontopic: rcparams

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.