8000 content guidelines · matplotlib/matplotlib@08c78ba · GitHub
[go: up one dir, main page]

Skip to content

Commit 08c78ba

Browse files
committed
content guidelines
1 parent 6fba64a commit 08c78ba

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

doc/devel/document.rst

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,6 +1002,79 @@ subdirectory, but :file:`galleries/users_explain/artists` has a mix of
10021002
any ``*.rst`` files to a ``:toctree:``, either in the ``README.txt`` or in a
10031003
manual ``index.rst``.
10041004

1005+
1006+
.. _writing-user-guide:
1007+
1008+
Write user guide explanations
1009+
=============================
1010+
1011+
The pages in the user guide are a mix of :ref:`ReST <writing-rest-pages>` and
1012+
:ref:`sphinx gallery <writing-examples-and-tutorials>` pages and should
1013+
follow the respective formatting conventions. These pages are also intended to
1014+
explain how Matplotlib works to someone who is unfamiliar with the library. To
1015+
maintain the consistency and cohesiveness of the user guide, documentation
1016+
that is contributed to this section should conform to the following guidelines:
1017+
1018+
Purpose: Explain how to use Matplotlib
1019+
--------------------------------------
1020+
1021+
The aim of this guide is to teach the concepts of Matplotlib so that user can
1022+
understand how to fit the individual components of the library together.
1023+
Therefore content should be concept oriented rather than focused on specific
1024+
tasks, e.g. *What is a `Line2D` artist?* rather than *How do I make a yellow
1025+
squiggly line?*
1026+
1027+
1028+
Scope: Matplotlib objects and modules
1029+
-------------------------------------
1030+
1031+
Many concepts in Matplotlib assume a grounding in vi 10000 sualization, statistics, and
1032+
other topics to understand how they work. These concepts should be
1033+
contextualized using common terminilogy, but the focus should not stray from the
1034+
Matplotlib topic, e.g. *`Line2D` objects take as input either pairwise coordinates
1035+
(x,y) or y with an implicit x and assume that the input data is continuous.*
1036+
Here pairwise and continuous are not defined because they are assumed to be
1037+
known by the audience, but are used to explain what data ``Line2D`` accepts.
1038+
1039+
1040+
Audience: new users
1041+
-------------------
1042+
1043+
The audience for this guide is getting introduced to using Matplotlib through
1044+
this guide. Therefore content should be written with the assumption that the
1045+
reader does not yet know what Matplotlib calls a given visualization task or
1046+
how any task is accomplished in Matplotlib. Therefore each document should
1047+
always first introduce or define the object/module/concept that it is discussing
1048+
and why it is important for the reader. e.g. *The ``Line2`` class is an
1049+
abstraction of a line and the ``LineCollection`` class is an abstraction of a set
1050+
of lines. ``Line2D`` and ``LineCollection`` objects manage the properties and
1051+
behavior of almost every line in an image. This means that one way to modify a
1052+
line is to call methods on its underlying object.*
1053+
1054+
1055+
Teaching style: small chunks
1056+
----------------------------
1057+
1058+
The material is introduced in small, usually one change or task at a time,
1059+
chunks to keep focus on the specific line of code enabling the given task. The
1060+
aim is that this breakdown will help in understanding what each specific object
1061+
does and build intuition in how the objects behave that will make the docs
1062+
easier to read. For example, here the line object is introduced, then there is
1063+
one example of using a method on the object, then there is a link out to further
1064+
functionality::
1065+
1066+
For example, here the ``plot`` method returns a line object ``ln``::
1067+
1068+
ln, _ = plt.plot([1,2,3])
1069+
1070+
One of the properties of a line is its color. It can be modified using the
1071+
``set_color`` method of ``Line2D``::
1072+
1073+
ln.set_color('orange')
1074+
1075+
For a full list of methods see `~.Line2D`
1076+
1077+
10051078
Miscellaneous
10061079
=============
10071080

0 commit comments

Comments
 (0)
0