|
1 | 1 | .. _howto-faq: |
2 | 2 |
|
3 | 3 | .. redirect-from:: /faq/howto_faq |
| 4 | +.. redirect-from:: /users/faq/howto_faq |
| 5 | +.. redirect-from:: /faq/index |
4 | 6 |
|
5 | | -****** |
6 | | -How-to |
7 | | -****** |
8 | | - |
9 | | -.. contents:: |
10 | | - :backlinks: none |
11 | | - |
| 7 | +========================== |
| 8 | +Frequently Asked Questions |
| 9 | +========================== |
12 | 10 |
|
13 | 11 | .. _how-to-too-many-ticks: |
14 | 12 |
|
@@ -199,14 +197,8 @@ different scales, you can often get ylabels that do not align |
199 | 197 | vertically across the multiple subplots, which can be unattractive. |
200 | 198 | By default, Matplotlib positions the x location of the ylabel so that |
201 | 199 | it does not overlap any of the y ticks. You can override this default |
202 | | -behavior by specifying the coordinates of the label. The example |
203 | | -below shows the default behavior in the left subplots, and the manual |
204 | | -setting in the right subplots. |
205 | | - |
206 | | -.. figure:: ../../gallery/text_labels_and_annotations/images/sphx_glr_align_ylabels_001.png |
207 | | - :target: ../../gallery/text_labels_and_annotations/align_ylabels.html |
208 | | - :align: center |
209 | | - :scale: 50 |
| 200 | +behavior by specifying the coordinates of the label. To learn how, see |
| 201 | +:doc:`/gallery/text_labels_and_annotations/align_ylabels` |
210 | 202 |
|
211 | 203 | .. _howto-set-zorder: |
212 | 204 |
|
@@ -307,3 +299,79 @@ artists. |
307 | 299 | You may be able to work on separate figures from separate threads. However, |
308 | 300 | you must in that case use a *non-interactive backend* (typically Agg), because |
309 | 301 | most GUI backends *require* being run from the main thread as well. |
| 302 | + |
| 303 | +.. _reporting-problems: |
| 304 | + |
| 305 | +Get help |
| 306 | +-------- |
| 307 | + |
| 308 | +There are a number of good resources for getting help with Matplotlib. |
| 309 | +There is a good chance your question has already been asked: |
| 310 | + |
| 311 | +- The `mailing list archive |
| 312 | + <https://discourse.matplotlib.org/c/community/matplotlib-users/6>`_. |
| 313 | + |
| 314 | +- `GitHub issues <https://github.com/matplotlib/matplotlib/issues>`_. |
| 315 | + |
| 316 | +- Stackoverflow questions tagged `matplotlib |
| 317 | + <https://stackoverflow.com/questions/tagged/matplotlib>`_. |
| 318 | + |
| 319 | +If you are unable to find an answer to your question through search, please |
| 320 | +provide the following information in your e-mail to the `mailing list |
| 321 | +<https://mail.python.org/mailman/listinfo/matplotlib-users>`_: |
| 322 | + |
| 323 | +* Your operating system (Linux/Unix users: post the output of ``uname -a``). |
| 324 | + |
| 325 | +* Matplotlib version:: |
| 326 | + |
| 327 | + python -c "import matplotlib; print(matplotlib.__version__)" |
| 328 | + |
| 329 | +* Where you obtained Matplotlib (e.g., your Linux distribution's packages, |
| 330 | + GitHub, PyPI, or `Anaconda <https://www.anaconda.com/>`_). |
| 331 | + |
| 332 | +* Any customizations to your ``matplotlibrc`` file (see |
| 333 | + :ref:`customizing`). |
| 334 | + |
| 335 | +* If the problem is reproducible, please try to provide a *minimal*, standalone |
| 336 | + Python script that demonstrates the problem. This is *the* critical step. |
| 337 | + If you can't post a piece of code that we can run and reproduce your error, |
| 338 | + the chances of getting help are significantly diminished. Very often, the |
| 339 | + mere act of trying to minimize your code to the smallest bit that produces |
| 340 | + the error will help you find a bug in *your* code that is causing the |
| 341 | + problem. |
| 342 | + |
| 343 | +* Matplotlib provides debugging information through the `logging` library, and |
| 344 | + a helper function to set the logging level: one can call :: |
| 345 | + |
| 346 | + plt.set_loglevel("info") # or "debug" for more info |
| 347 | + |
| 348 | + to obtain this debugging information. |
| 349 | + |
| 350 | + Standard functions from the `logging` module are also applicable; e.g. one |
| 351 | + could call ``logging.basicConfig(level="DEBUG")`` even before importing |
| 352 | + Matplotlib (this is in particular necessary to get the logging info emitted |
| 353 | + during Matplotlib's import), or attach a custom handler to the "matplotlib" |
| 354 | + logger. This may be useful if you use a custom logging configuration. |
| 355 | + |
| 356 | +If you compiled Matplotlib yourself, please also provide: |
| 357 | + |
| 358 | +* any changes you have made to ``setup.py`` or ``setupext.py``. |
| 359 | +* the output of:: |
| 360 | + |
| 361 | + rm -rf build |
| 362 | + python setup.py build |
| 363 | + |
| 364 | + The beginning of the build output contains lots of details about your |
| 365 | + platform that are useful for the Matplotlib developers to diagnose your |
| 366 | + problem. |
| 367 | + |
| 368 | +* your compiler version -- e.g., ``gcc --version``. |
| 369 | + |
| 370 | +Including this information in your first e-mail to the mailing list |
| 371 | +will save a lot of time. |
| 372 | + |
| 373 | +You will likely get a faster response writing to the mailing list than |
| 374 | +filing a bug in the bug tracker. Most developers check the bug |
| 375 | +tracker only periodically. If your problem has been determined to be |
| 376 | +a bug and cannot be quickly solved, you may be asked to file a bug in |
| 377 | +the tracker so the issue doesn't get lost. |
0 commit comments