Skip to content

Image for "Basic plots - plot" should hint at markers #16

@timhoffm

Description

@timhoffm
Member

Currently the image is just sine line, which could trick users in thinking that plot is for lines and scatter is for markers.

grafik

I propose to additionally show another set of values with markers, e.g. something like:

grafik

Activity

rougier

rougier commented on Jul 7, 2020

@rougier
Member

You're right. I think it might be nicer to add markers along the sine with marker and markevery. Can you make a PR?

Raghibshams456

Raghibshams456 commented on Jul 7, 2020

@Raghibshams456

import matplotlib.pyplot as plt
import numpy as np
np.random.seed(19680801)
x = np.arange(0,4*np.pi,0.1) # start,stop,step
y = np.sin(x)
X=[1,2,3,4,5,6]
Y=[0,6,2,4,6,9]
plt.scatter(X, Y, c='orange')
plt.plot(x, y, c= "orange")
plt.gca().invert_yaxis()
plt.show()
will this code will work

Raghibshams456

Raghibshams456 commented on Jul 7, 2020

@Raghibshams456

mat

linked a pull request that will close this issue on Jul 7, 2020
timhoffm

timhoffm commented on Jul 7, 2020

@timhoffm
MemberAuthor

I think it might be nicer to add markers along the sine with marker and markevery.

IMHO it's important to show independent lines and markers.

story645

story645 commented on Jul 7, 2020

@story645
Member

Somewhere on the cheatsheet it's mentioned that plot is a better option for very specific types of scatter situations and I think it's OK to leave this as general case plot is for lines and scatter is for points.

Raghibshams456

Raghibshams456 commented on Jul 7, 2020

@Raghibshams456

Can anyone plzzz tell me my code will work or not ...as I am new to open source contribution so I am understanding things slowly....

jklymak

jklymak commented on Jul 7, 2020

@jklymak
Member

as general case plot is for lines and scatter is for points.

scatter is for when you need a third dimension, either represented as marker size or color. Otherwise, you should just use plot.

story645

story645 commented on Jul 7, 2020

@story645
Member

scatter is for when you need a third dimension, either represented as marker size or color. Otherwise, you should just use plot.

for smaller datasets the difference is negligible & so you may as well not overload a function with two semantically distinct (continuous versus discrete) use cases.

@Raghibshams456 can you be more specific? How is your code not working?

timhoffm

timhoffm commented on Jul 7, 2020

@timhoffm
MemberAuthor

for smaller datasets the difference is negligible & so you may as well not overload a function with two semantically distinct

I argue the other way round: From the data semantics:

  • plot() is primarily for functional relationship y = f(x) so that there is only one y per x. Whether you draw this with single markers or lines or both is a stylistic choice.
  • scatter() is for drawing points in the (x, y) plane, and optionally adding additional information like color and size.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @rougier@story645@jklymak@timhoffm@Raghibshams456

      Issue actions

        Image for "Basic plots - plot" should hint at markers · Issue #16 · matplotlib/cheatsheets