cheatsheets icon indicating copy to clipboard operation
cheatsheets copied to clipboard

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

Open timhoffm opened this issue 4 years ago • 9 comments

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

timhoffm avatar Jul 06 '20 20:07 timhoffm

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

rougier avatar Jul 07 '20 05:07 rougier

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 avatar Jul 07 '20 17:07 Raghibshams456

mat

Raghibshams456 avatar Jul 07 '20 17:07 Raghibshams456

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.

timhoffm avatar Jul 07 '20 17:07 timhoffm

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.

story645 avatar Jul 07 '20 17:07 story645

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....

Raghibshams456 avatar Jul 07 '20 17:07 Raghibshams456

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.

jklymak avatar Jul 07 '20 18:07 jklymak

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?

story645 avatar Jul 07 '20 18:07 story645

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.

timhoffm avatar Jul 07 '20 20:07 timhoffm