100% found this document useful (12 votes)
74 views

Get Interactive Applications Using Matplotlib 1st Edition Root PDF ebook with Full Chapters Now

Applications

Uploaded by

yardytobela8
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (12 votes)
74 views

Get Interactive Applications Using Matplotlib 1st Edition Root PDF ebook with Full Chapters Now

Applications

Uploaded by

yardytobela8
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

Download the full version of the ebook at ebookname.

com

Interactive Applications Using Matplotlib 1st


Edition Root

https://ebookname.com/product/interactive-applications-
using-matplotlib-1st-edition-root/

OR CLICK BUTTON

DOWNLOAD EBOOK

Download more ebook instantly today at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Root to Stalk Cooking The Art of Using the Whole Vegetable


1st Edition Tara Duggan

https://ebookname.com/product/root-to-stalk-cooking-the-art-of-using-
the-whole-vegetable-1st-edition-tara-duggan/

ebookname.com

Interactive computer graphics a top down approach using


OpenGL 5th ed. international ed Edition Angel

https://ebookname.com/product/interactive-computer-graphics-a-top-
down-approach-using-opengl-5th-ed-international-ed-edition-angel/

ebookname.com

Essential Mathematics for Games and Interactive


Applications 3rd Edition James M. Van Verth

https://ebookname.com/product/essential-mathematics-for-games-and-
interactive-applications-3rd-edition-james-m-van-verth-2/

ebookname.com

Simplifying perspective a step by step guide for visual


artists 1st Edition Robert Pastrana

https://ebookname.com/product/simplifying-perspective-a-step-by-step-
guide-for-visual-artists-1st-edition-robert-pastrana/

ebookname.com
Wiley CPAexcel Exam Review 2014 Study Guide Financial
Accounting and Reporting 11th Edition O. Ray Whittington

https://ebookname.com/product/wiley-cpaexcel-exam-review-2014-study-
guide-financial-accounting-and-reporting-11th-edition-o-ray-
whittington/
ebookname.com

Idiot s Guides Yoga Sarah Herrington

https://ebookname.com/product/idiot-s-guides-yoga-sarah-herrington/

ebookname.com

An Emotionally Focused Guide to Relationship Loss Life


After Love 1 Edition Clare Rosoman

https://ebookname.com/product/an-emotionally-focused-guide-to-
relationship-loss-life-after-love-1-edition-clare-rosoman/

ebookname.com

Bringing Light to Twilight Perspectives on a Pop Culture


Phenomenon 1st Edition Giselle Liza Anatol (Eds.)

https://ebookname.com/product/bringing-light-to-twilight-perspectives-
on-a-pop-culture-phenomenon-1st-edition-giselle-liza-anatol-eds/

ebookname.com

Compartment Syndromes Diagnosis Treatment and


Complications 1st Edition Jorma Styf

https://ebookname.com/product/compartment-syndromes-diagnosis-
treatment-and-complications-1st-edition-jorma-styf/

ebookname.com
Complicated Cases in GI Feb 15 2009 _ 1556428111 _ Slack
Incorporated First Edition Kalloo Md

https://ebookname.com/product/complicated-cases-in-gi-
feb-15-2009-_-1556428111-_-slack-incorporated-first-edition-kalloo-md/

ebookname.com
[1]
Interactive Applications Using
Matplotlib

Don't just see your data, experience it!

Benjamin V. Root

BIRMINGHAM - MUMBAI
Interactive Applications Using Matplotlib

Copyright © 2015 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the author, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.

First published: March 2015

Production reference: 1170315

Published by Packt Publishing Ltd.


Livery Place
35 Livery Street
Birmingham B3 2PB, UK.

ISBN 978-1-78398-884-6

www.packtpub.com
Credits

Author Project Coordinator


Benjamin V. Root Harshal Ved

Reviewers Proofreaders
Kamran Husain Maria Gould
Nathan Jarus Lesley Harrison
Jens Hedegaard Nielsen Bernadette Watkins
Sergi Pons Freixes
Indexer
Acquisition Editors Monica Ajmera Mehta
Richard Gall
Owen Roberts Production Coordinator
Conidon Miranda
Content Development Editor
Shubhangi Dhamgaye
Cover Work
Conidon Miranda
Technical Editors
Tanvi Bhatt
Nanda Padmanabhan

Copy Editors
Roshni Banerjee
Gladson Monteiro
About the Author

Benjamin V. Root has been a member of the Matplotlib development team


since 2010. His main areas of development have been the documentation and the
mplot3d toolkit, but now he focuses on code reviews and debugging. Ben is also an
active member of mailing lists, using his expertise to help newcomers understand
Matplotlib. He is a meteorology graduate student, working part-time on his PhD
dissertation. He works full-time for Atmospheric and Environmental Research, Inc.
as a scientific programmer.

I would like to acknowledge the entire Matplotlib development team


for their insightful responses to my questions while I was writing
this book. In particular, I would like to thank Michael Droettboom,
Eric Firing, Thomas Caswell, Phil Elson, and Ryan May. Thanks
also go to the members of the matplotlib users' list without whom I
would have never learned this tool in the first place and for whom I
wrote this book.

This book would not have been possible without the love and
support of my wife, Margaret. She put up with far more than she
should have, and for that, I am in her debt.

Last, but not least, I must acknowledge John Hunter, the creator
of Matplotlib and the man who included me into the development
team. Working with him and the rest of the team allowed me to
mature as a programmer and scientist, and directly resulted in me
attaining my current employment, thus starting my career.
About the Reviewers

Nathan Jarus is a computer science PhD candidate at Missouri S&T. He regularly


uses Matplotlib to visualize and experiment with results. Prior to his graduate
studies, he spent several years developing data visualization tools for research
professors. Beyond visualization, he studies complex system modeling and control.

Jens Hedegaard Nielsen is a research software developer at University College


London, where he works on a number of different programming projects in relation
to research across the university. He is an active Matplotlib developer. He has a PhD
in experimental laser physics from Aarhus University, Denmark.
Sergi Pons Freixes is a telecommunications engineer and a PhD candidate with
experience on optical sensors and data analysis. For almost 10 years, he has been
working in international environments, performing both hands-on development
and research.

During his master's degree in telecommunications engineering, he engaged in


part-time research in the Department of Signal Theory and Communications at the
Polytechnic University of Catalonia (UPC), with the design and development of a
low-cost hyperspectral in-situ sensor. This experience stimulated him to start a PhD
at the same department. He obtained a grant from the Spanish National Research
Council (CSIC) and performed his predoctoral training at the Marine Technology
Unit in Barcelona, graduating for a master of advanced studies and leading and
supervising the master thesis of other university students, while continuing his
research on low-cost solutions oriented to increase the observational capabilities
for marine/oceanographic biological information systems.

In 2011, he gained a fellowship from the Spanish Ministry of Economy and


Competitiveness to expand his experience in international scientific organisms,
moving to the European Space Agency office in Italy and working on assessing the
viability of remote sensing coral monitoring. During his stay, he gained a contractor
position as performance simulation engineer for the Sentinel 3 satellite project at
the European Space Agency facilities in the Netherlands, being responsible for the
simulators and processors operation and maintenance.

In January 2015, he moved to San Diego, California, where he is currently finishing


his PhD while he pursues new opportunities.
www.PacktPub.com

Support files, eBooks, discount offers, and more


For support files and downloads related to your book, please visit www.PacktPub.com.

Did you know that Packt offers eBook versions of every book published, with PDF
and ePub files available? You can upgrade to the eBook version at www.PacktPub.com
and as a print book customer, you are entitled to a discount on the eBook copy. Get in
touch with us at [email protected] for more details.

At www.PacktPub.com, you can also read a collection of free technical articles,


sign up for a range of free newsletters and receive exclusive discounts and offers
on Packt books and eBooks.
TM

https://www2.packtpub.com/books/subscription/packtlib

Do you need instant solutions to your IT questions? PacktLib is Packt's online digital
book library. Here, you can search, access, and read Packt's entire library of books.

Why subscribe?
• Fully searchable across every book published by Packt
• Copy and paste, print, and bookmark content
• On demand and accessible via a web browser

Free access for Packt account holders


If you have an account with Packt at www.PacktPub.com, you can use this to access
PacktLib today and view 9 entirely free books. Simply use your login credentials for
immediate access.
Table of Contents
Preface v
Chapter 1: Introducing Interactive Plotting 1
Installing Matplotlib 1
Show() your work 3
Interactive navigation 3
Interactive plotting 4
Scripted plotting 5
Getting help 6
Gallery 6
Mailing lists and forums 6
From front to backend 7
Interactive versus non-interactive 7
Anti-grain geometry 8
Selecting your backend 8
The Matplotlib figure-artist hierarchy 9
Canvassing the figure 10
The menagerie of artists 13
Primitives 14
Collections 17
Summary 19
Chapter 2: Using Events and Callbacks 21
Making the connection 22
The big event 25
Breaking up is the easiest thing to do 31
Keymapping 34
Picking 38

[i]
Table of Contents

Data editing 41
User events 48
Editor events 49
Summary 54
Chapter 3: Animations 55
A short history 55
The fastest draw in the west 56
The animation module 57
Advanced animations 60
Event source 64
Timers 66
Blitting 68
Recipes 69
Tails 69
Fades 72
Saving animations 74
Notes about codecs and file formats 75
Simultaneous animations 77
How animations are saved 78
Session recorder 79
Summary 83
Chapter 4: Widgets 85
Built-in widgets 85
Slider 86
Button 89
Check buttons 92
Radio button 95
Lasso 99
LassoSelector 103
RectangleSelector 104
SpanSelector 108
Cursor 110
format_coord() 110
Third-party tools 113
mpldatacursor 114
Glue 114
Plot.ly, ggplot, prettyplotlib, and Seaborn 114
Summary 115

[ ii ]
Table of Contents

Chapter 5: Embedding Matplotlib 117


The revelation 119
Through a glass, darkly 119
Tinker tailor soldier pylab_setup() 120
Canvas materials 121
Bars, menus, and sliders – four ways 122
GTK 122
Tkinter 127
wxWidgets 131
Qt 135
Matplotlib in your app 140
GTK 140
Tkinter 143
wxWidgets 144
Qt 146
Summary 147
Index 149

[ iii ]
Preface
Why Matplotlib? Why Python, for that matter? I picked up Python for scientific
development because I needed a full-fledged programming language that made
sense. Too often, I felt hemmed in by the traditional tools in the meteorology field.
I needed a language that respected my time as a developer and didn't fight me
every step of the way. "Don't you find Python constricting?" asked a colleague who
was fond of bad puns. "No, quite the opposite," I replied, the joke going right over
my head.

Matplotlib is the same in this respect. Switching from traditional graphing tools of
the meteorology field to Matplotlib was a breath of fresh air. Not only were useful
programs being written using the Matplotlib library, but it was also easy to write
my own. Furthermore, I could write out modules and easily use them in both
the hardcopy generating scripts for my publications and for my data exploration
interactive applications. Most importantly, the Matplotlib library let me do what
I needed it to do.

I have been an active developer for Matplotlib since 2010 and I am still discovering
Matplotlib. It isn't that the library is insanely huge and unwieldy—it isn't. Instead,
Matplotlib appeals to all levels of expertise and interests. One can simply care
enough only to get a single plot displayed in three line of code and never think of the
library again. Or, one could assume control over every single minute plotting detail,
ensuring that everything is displayed "just right." And even when one does this and
thinks they have seen every single nook and cranny of the library, they will discover
some other feature that they have never seen before.

[v]
Preface

Matplotlib is 12 years old now. New plotting projects have cropped up—some
supplementing Matplotlib's design, while others trying to replace Matplotlib
entirely. However, there has been no slacking of interest in Matplotlib, not from the
users and definitely not from the developers. The new projects are interesting, and
as with all things open source, we try to learn from these projects. But I keep coming
back to this project. Its design, developers, and community of users are some of the
best and most devoted in the open source world.

The book you are reading right now is actually not the book I originally wanted to
write. The interactive aspect of Matplotlib is not my area of expertise. After some
nudging from fellow developers and users, I relented. I proceeded to rewrite the
only interactive application I had ever finished and published. Working through the
chapters, I tried to find better ways of doing the things I did originally, pointing out
major pitfalls and easy mistakes as I encountered them. It was a significant learning
experience for me, which was wholly unexpected.

I now invite you to discover Matplotlib for yourself. Whether it is the first time or
not, it certainly won't be the last.

What this book covers


Chapter 1, Introducing Interactive Plotting, covers basic figure-axes-artist hierarchy and
other Matplotlib essentials such as displaying the plot. It also introduces you to the
interactive Matplotlib figure.

Chapter 2, Using Events and Callbacks, provides Matplotlib's events and a callback
system to bring your figures to life. It also explains how you can extend it with
custom events, making the application truly interactive.

Chapter 3, Animations, deals with ArtistAnimation, FuncAnimation, and timers


to make animations of all types. It also deals with animations that can be saved
as movies.

Chapter 4, Widgets, covers built-in widgets such as buttons, checkboxes, selectors,


lassos, and sliders, which are all explained and demonstrated. Here, you'll also learn
about other useful third-party widgets and tools.

Chapter 5, Embedding Matplotlib, teaches you how to add GUI elements to an existing
Matplotlib application. Here you'll also see how to add your interactive Matplotlib
figure to an existing GUI application. Identical examples are presented using GTK,
Tkinter, wxWidgets, and Qt.

[ vi ]
Preface

What you need for this book


At the absolute least, you will need the following Python packages installed on
your system: NumPy, SciPy, Basemap, and (of course) Matplotlib. To work on the
instructions presented in Chapter 5, Embedding Matplotlib, you will want to have at
least one of the following GUI toolkits installed: GTK, Tkinter (should come with
Python), wxWidgets, or Qt (version 4 is preferred; version 5 is supported only
recently for Matplotlib version 1.4). You will also need the corresponding Python
bindings for the GUI toolkits (some come with them by default).

Who this book is for


If you are a Python programmer who wants to do more than just see your data, this is
the book for you. It will explain the SciPy stack (that is, NumPy and Matplotlib) and
provide pointers to install them. Experience with GUI toolkits, such as wxPython, Qt,
or GTK+, is also not required, so this book can be an excellent complement to other
GUI programming resources. To understand the examples and explanations, you need
to know basic object-oriented programming terms and concepts.

Conventions
In this book, you will find a number of text styles that distinguish between different
kinds of information. Here are some examples of these styles and an explanation of
their meaning.

Code words in text, database table names, folder names, filenames, file extensions,
pathnames, dummy URLs, user input, and Twitter handles are shown as follows:
"We can include other contexts through the use of the include directive."

A block of code is set as follows:


import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection
from tutorial import track_loader
tracks = track_loader('polygons.shp')
# Filter out non-tracks (unassociated polygons given trackID of -9)
tracks = {tid: t for tid, t in tracks.items() if tid != -9}

[ vii ]
Preface

When we wish to draw your attention to a particular part of a code block, the
relevant lines or items are set in bold:
polys = [p for p in cells.polygons]
for p in polys:
p.set_visible(True)
p.set_alpha(0.0)

def update(frame, polys):


for i, p in enumerate(polys):
alpha = 0.0 if i > frame else 1.0 / ((frame - i + 1)**2)
p.set_alpha(alpha)

ax.set_xlabel("Longitude")
ax.set_ylabel("Latitude")
strmanim = FuncAnimation(fig, update, frameCnt,
fargs=(polys,))
plt.show()

Any command-line input or output is written as follows:


$ pip install matplotlib

New terms and important words are shown in bold. Words that you see on the
screen, for example, in menus or dialog boxes, appear in the text like this: "Now click
on the Selection radio button and you will find that you can select a polygon again."

Warnings or important notes appear in a box like this.

Tips and tricks appear like this.

[ viii ]
Preface

Reader feedback
Feedback from our readers is always welcome. Let us know what you think about
this book—what you liked or disliked. Reader feedback is important for us as it helps
us develop titles that you will really get the most out of.

To send us general feedback, simply e-mail [email protected], and mention


the book's title in the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing
or contributing to a book, see our author guide at www.packtpub.com/authors.

Customer support
Now that you are the proud owner of a Packt book, we have a number of things to
help you to get the most from your purchase.

Downloading the example code


You can download the example code files from your account at http://www.
packtpub.com for all the Packt Publishing books you have purchased. If you
purchased this book elsewhere, you can visit http://www.packtpub.com/support
and register to have the files e-mailed directly to you.

Errata
Although we have taken every care to ensure the accuracy of our content, mistakes
do happen. If you find a mistake in one of our books—maybe a mistake in the text or
the code—we would be grateful if you could report this to us. By doing so, you can
save other readers from frustration and help us improve subsequent versions of this
book. If you find any errata, please report them by visiting http://www.packtpub.
com/submit-errata, selecting your book, clicking on the Errata Submission Form
link, and entering the details of your errata. Once your errata are verified, your
submission will be accepted and the errata will be uploaded to our website or added
to any list of existing errata under the Errata section of that title.

To view the previously submitted errata, go to https://www.packtpub.com/books/


content/support and enter the name of the book in the search field. The required
information will appear under the Errata section.

[ ix ]
Preface

Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all
media. At Packt, we take the protection of our copyright and licenses very seriously.
If you come across any illegal copies of our works in any form on the Internet, please
provide us with the location address or website name immediately so that we can
pursue a remedy.

Please contact us at [email protected] with a link to the suspected


pirated material.

We appreciate your help in protecting our authors and our ability to bring you
valuable content.

Questions
If you have a problem with any aspect of this book, you can contact us at
[email protected], and we will do our best to address the problem.

[x]
Introducing Interactive
Plotting
A picture is worth a thousand words

The goal of any interactive application is to provide as much information as possible


while minimizing complexity. If it can't provide the information the users need,
then it is useless to them. However, if the application is too complex, then the
information's signal gets lost in the noise of the complexity. A graphical presentation
often strikes the right balance.

The Matplotlib library can help you present your data as graphs in your application.
Anybody can make a simple interactive application without knowing anything about
draw buffers, event loops, or even what a GUI toolkit is. And yet, the Matplotlib
library will cede as much control as desired to allow even the most savvy GUI
developer to create a masterful application from scratch. Like much of the Python
language, Matplotlib's philosophy is to give the developer full control, but without
being stupidly unhelpful and tedious.

Installing Matplotlib
There are many ways to install Matplotlib on your system. While the library used
to have a reputation for being difficult to install on non-Linux systems, it has come
a long way since then, along with the rest of the Python ecosystem. Refer to the
following command:
$ pip install matplotlib
Introducing Interactive Plotting

Most likely, the preceding command would work just fine from the command line.
Python Wheels (the next-generation Python package format that has replaced "eggs")
for Matplotlib are now available from PyPi for Windows and Mac OS X systems.
This method would also work for Linux users; however, it might be more favorable
to install it via the system's built-in package manager.

While the core Matplotlib library can be installed with few dependencies, it is a
part of a much larger scientific computing ecosystem known as SciPy. Displaying
your data is often the easiest part of your application. Processing it is much more
difficult, and the SciPy ecosystem most likely has the packages you need to do that.
For basic numerical processing and N-dimensional data arrays, there is NumPy.
For more advanced but general data processing tools, there is the SciPy package
(the name was so catchy, it ended up being used to refer to many different things
in the community). For more domain-specific needs, there are "Sci-Kits" such as
scikit-learn for artificial intelligence, scikit-image for image processing, and
statsmodels for statistical modeling. Another very useful library for data processing
is pandas.

This was just a short summary of the packages available in the SciPy ecosystem.
Manually managing all of their installations, updates, and dependencies would be
difficult for many who just simply want to use the tools. Luckily, there are several
distributions of the SciPy Stack available that can keep the menagerie under control.
The following are Python distributions that include the SciPy Stack along with
many other popular Python packages or make the packages easily available through
package management software:

• Anaconda from Continuum Analytics


• Canopy from Enthought
• SciPy Superpack
• Python(x, y) (Windows only)
• WinPython (Windows only)
• Pyzo (Python 3 only)
• Algorete Loopy from Dartmouth College

For this book, we will assume at least Python 2.7 or 3.2. The requisite
packages are numpy, matplotlib, basemap, and scipy. Just about
any version of these packages released in the past 3 years should work
for most examples in this book (exceptions are noted in this book). The
version 0.14.0 of SciPy (released in May 2014) cannot be used in this book
due to a (now fixed) regression in its NetCDF reader. Chapter 5, Embedding
Matplotlib will have special notes with regards to GUI toolkit packages.

[2]
Chapter 1

Show() your work


With Matplotlib installed, you are now ready to make your first simple plot.
Matplotlib has multiple layers. Pylab is the topmost layer, often used for quick
one-off plotting from within a live Python session. Start up your favorite Python
interpreter and type the following:
>>> from pylab import *
>>> plot([1, 2, 3, 2, 1])

Nothing happened! This is because Matplotlib, by default, will not display anything
until you explicitly tell it to do so. The Matplotlib library is often used for automated
image generation from within Python scripts, with no need for any interactivity.
Also, most users would not be done with their plotting yet and would find it
distracting to have a plot come up automatically. When you are ready to see your
plot, use the following command:
>>> show()

Interactive navigation
A figure window should now appear, and the Python interpreter is not available
for any additional commands. By default, showing a figure will block the execution
of your scripts and interpreter. However, this does not mean that the figure is not
interactive. As you mouse over the plot, you will see the plot coordinates in the
lower right-hand corner. The figure window will also have a toolbar:

From left to right, the following are the tools:

• Home, Back, and Forward: These are similar to that of a web browser.
These buttons help you navigate through the previous views of your plot.
The "Home" button will take you back to the first view when the figure was
opened. "Back" will take you to the previous view, while "Forward" will
return you to the previous views.

[3]
Introducing Interactive Plotting

• Pan (and zoom): This button has two modes: pan and zoom. Press the left
mouse button and hold it to pan the figure. If you press x or y while panning,
the motion will be constrained to just the x or y axis, respectively. Press the
right mouse button to zoom. The plot will be zoomed in or out proportionate
to the right/left and up/down movements. Use the X, Y, or Ctrl key to
constrain the zoom to the x axis or the y axis or preserve the aspect ratio,
respectively.
• Zoom-to-rectangle: Press the left mouse button and drag the cursor to a new
location and release. The axes view limits will be zoomed to the rectangle
you just drew. Zoom out using your right mouse button, placing the current
view into the region defined by the rectangle you just drew.
• Subplot configuration: This button brings up a tool to modify plot spacing.
• Save: This button brings up a dialog that allows you to save the current
figure.

The figure window would also be responsive to the keyboard. The default keymap
is fairly extensive (and will be covered fully later), but some of the basic hot keys are
the Home key for resetting the plot view, the left and right keys for back and forward
actions, p for pan/zoom mode, o for zoom-to-rectangle mode, and Ctrl + s to trigger
a file save. When you are done viewing your figure, close the window as you would
close any other application window, or use Ctrl + w.

Interactive plotting
When we did the previous example, no plots appeared until show() was called.
Furthermore, no new commands could be entered into the Python interpreter until
all the figures were closed. As you will soon learn, once a figure is closed, the plot
it contains is lost, which means that you would have to repeat all the commands
again in order to show() it again, perhaps with some modification or additional plot.
Matplotlib ships with its interactive plotting mode off by default.

There are a couple of ways to turn the interactive plotting mode on. The main way
is by calling the ion() function (for Interactive ON). Interactive plotting mode can
be turned on at any time and turned off with ioff(). Once this mode is turned on,
the next plotting command will automatically trigger an implicit show() command.
Furthermore, you can continue typing commands into the Python interpreter. You
can modify the current figure, create new figures, and close existing ones at any time,
all from the current Python session.

[4]
Chapter 1

Scripted plotting
Python is known for more than just its interactive interpreters; it is also a fully fledged
programming language that allows its users to easily create programs. Having a
script to display plots from daily reports can greatly improve your productivity.
Alternatively, you perhaps need a tool that can produce some simple plots of the data
from whatever mystery data file you have come across on the network share. Here is
a simple example of how to use Matplotlib's pyplot API and the argparse Python
standard library tool to create a simple CSV plotting script called plotfile.py.

Code: chp1/plotfile.py
#!/usr/bin/env python

from argparse import ArgumentParser


import matplotlib.pyplot as plt

if __name__ == '__main__':
parser = ArgumentParser(description="Plot a CSV file")
parser.add_argument("datafile", help="The CSV File")
# Require at least one column name
parser.add_argument("columns", nargs='+',
help="Names of columns to plot")
parser.add_argument("--save", help="Save the plot as...")
parser.add_argument("--no-show", action="store_true",
help="Don't show the plot")
args = parser.parse_args()

plt.plotfile(args.datafile, args.columns)
if args.save:
plt.savefig(args.save)
if not args.no_show:
plt.show()

Note the two optional command-line arguments: --save and --no-show. With the
--save option, the user can have the plot automatically saved (the graphics format is
determined automatically from the filename extension). Also, the user can choose not
to display the plot, which when coupled with the --save option might be desirable if
the user is trying to plot several CSV files.

When calling this script to show a plot, the execution of the script will stop at the
call to plt.show(). If the interactive plotting mode was on, then the execution of
the script would continue past show(), terminating the script, thus automatically
closing out any figures before the user has had a chance to view them. This is why
the interactive plotting mode is turned off by default in Matplotlib.

[5]
Introducing Interactive Plotting

Also note that the call to plt.savefig() is before the call to plt.show(). As
mentioned before, when the figure window is closed, the plot is lost. You cannot
save a plot after it has been closed.

Getting help
We have covered how to install Matplotlib and went over how to make very simple
plots from a Python session or a Python script. Most likely, this went very smoothly
for you. The rest of this book will focus on how to use Matplotlib to make an
interactive application, rather than the many ways to display data. You may be very
curious and want to learn more about the many kinds of plots this library has to
offer, or maybe you want to learn how to make new kinds of plots.

Help comes in many forms. The Matplotlib website (http://matplotlib.org)


is the primary online resource for Matplotlib. It contains examples, FAQs, API
documentation, and, most importantly, the gallery.

Gallery
Many users of Matplotlib are often faced with the question, "I want to make a plot
that has this data along with that data in the same figure, but it needs to look like
this other plot I have seen." Text-based searches on graphing concepts are difficult,
especially if you are unfamiliar with the terminology. The gallery showcases the
variety of ways in which one can make plots, all using the Matplotlib library. Browse
through the gallery, click on any figure that has pieces of what you want in your
plot, and see the code that generated it. Soon enough, you will be like a chef, mixing
and matching components to produce that perfect graph.

Mailing lists and forums


When you are just simply stuck and cannot figure out how to get something to work
or just need some hints on how to get started, you will find much of the community
at the Matplotlib-users mailing list. This mailing list is an excellent resource of
information with many friendly members who just love to help out newcomers.
Be persistent! While many questions do get answered fairly quickly, some will
fall through the cracks. Try rephrasing your question or with a plot showing your
attempts so far. The people at Matplotlib-users love plots, so an image that shows
what is wrong often gets the quickest response. A newer community resource is
StackOverflow, which has many very knowledgeable users who are able to answer
difficult questions.

[6]
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of The Ohio
Naturalist, Vol. 1, No. 5, March, 1901
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

Title: The Ohio Naturalist, Vol. 1, No. 5, March, 1901

Creator: Ohio State University. Biological Club

Release date: August 24, 2023 [eBook #71481]

Language: English

Original publication: Columbus, OH: The Biological Club of the


Ohio State University, 1900

Credits: Richard Tonsing and the Online Distributed


Proofreading Team at https://www.pgdp.net (This file
was produced from images generously made available
by The Internet Archive)

*** START OF THE PROJECT GUTENBERG EBOOK THE OHIO


NATURALIST, VOL. 1, NO. 5, MARCH, 1901 ***
Transcriber’s Note:
New original cover art included with this eBook is
granted to the public domain.
THE OHIO
Naturalist

PUBLISHED BY

THE BIOLOGICAL CLUB OF THE OHIO STATE UNIVERSITY

EDITORIAL STAFF

Editor-in-chief—JOHN H. SCHAFFNER, A. M., M. S.

Associate Editors:

Zoology—F. L. LANDACRE, B. Sc.


Botany—F. J. TYLER, B. Sc.
Geology—J. A. BOWNOCKER, D. Sc.
Archaeology—W. C. MILLS, B. Sc.
Ornithology—R. F. GRIGGS.

Advisory Board:

PROFESSOR W. A. KELLERMAN. Ph. D.


Department of Botany.

PROFESSOR HERBERT OSBORN, M. Sc.


Department of Zoology.
PROFESSOR J. A. BOWNOCKER, D. Sc.
Department of Geology.

Volume I. March, 1901 Number 5

COLUMBUS, OHIO

PRESS OF HANN & ADAIR


A journal devoted more especially
THE OHIO to the natural history of Ohio. The
NATURALIST official organ of The Biological Club
of the Ohio State University.
Published monthly during the academic year, from November to
June (8 numbers). Price 50 cents per year, payable in advance. To
foreign countries, 75 cents. Single copies 10 cents.

John H. Schaffner, Editor.


F. J. Tyler, Subscriptions.
R. F. Griggs, Advertising Agent.
Address
THE OHIO NATURALIST, Ohio State University,
COLUMBUS,
OHIO.
CONTENTS

Perennial Tumbleweeds 67
John H. Schaffner

The Sprouting of Cocklebur Seeds 69


E. E. Masterman

Plant Remains from the Baum Village Site 70


W. C. Mills

Sprouting Flower Buds of Opuntia 71


V. Sterki

Note on the Involucral Leaves of Syndesmon 72


F. H. Burglehaus

Competition in Botany for Ohio Schools 72


W. A. Kellerman

Minor Plant Notes No. 2 76


W. A. Kellerman

Meeting of the Biological Club 78


James S. Hine, Sec.

Entered at the Post Office at Columbus, Ohio, as second class matter.


The Ohio Naturalist

PUBLISHED BY

THE BIOLOGICAL CLUB OF THE OHIO


STATE UNIVERSITY

Vol. 1. MARCH, 1901 No. 5


PERENNIAL TUMBLEWEEDS.

John H. Schaffner.

Tumbleweeds may be classified under three general heads:

Annual tumbleweeds,
Tumble-grasses,
Perennial tumbleweeds.

The annual tumbleweeds are mostly plants with a small root


system which shrivels up or rots away soon after the seed has
matured. The plants are then easily torn from the ground or broken
off and go tumbling away before the wind. In some cases the roots
become quite fleshy and brittle. In the tumble-grasses the panicle is
generally the only part which is transported, the stems of the panicle
being usually very brittle and breaking readily even in those forms
which are easily torn up from the roots.
Fig. 1. Psoralea floribunda. Plant growing on prairie, Clay Co.,
Kan.

The perennial tumbleweeds are


especially interesting because of the
way in which they are separated from
the underground parts. Among the
perennial forms Psoralea floribunda is
one of the most typical. It is a long-
lived, perennial crown-former with a
very deep root which may be several
inches in diameter. From the short
terminal stem of this root a number of
aerial branches are developed annually.
These branches take on a more or less
globose or balloon-shaped form. At the
base of each aerial stem a number of
special joints are formed in which
transverse cleavage regions are
Fig. 2. Plant of P floribunda, gradually developed, and when the
showing a part of the deep
taproot. seed is ripe the whole crown breaks off
at these joints with remarkable ease.
This is a peculiar case of the
development of a self-pruning process in the stem for a very special
purpose.
Psoralea argophylla also develops perfect joints but fewer shoots
usually make up the crown and it is therefore less conspicuous than
P. floribunda. Psoralea esculenta is also a tumbleweed but the writer
has not made an examination of the way in which it separates from
the thick, tuberous, perennial root.
Psoralea floribunda is very
abundant in north-central Kansas
where the writer has seen great masses
heaped up against hedgerows and wire
fences. These plants show a most
remarkable responsive adaption to an
environment of very definite
conditions. They have developed nearly
every character possible in harmony
with the dry and windy plains of the
west and may be regarded as ideal
prairie plants.

Fig. 3. (a) Base of a stem of P.


floribunda with two cleavage
joints. (b) Base of stem showing
cleavage surface.
THE SPROUTING OF COCKLEBUR SEEDS.

E. E. Masterman.

In July, 1896, Dr. E. W. Claypole, then of Buchtel College,


Akron, Ohio, asked me how general was the belief that one seed of
the cocklebur grew one year and the other the next year or later.
Inquiry of about twenty of the older residents resulted in procuring
no information touching the same. In 1897, I was told by a German
farmer that one seed only grew one year and the other later, never
both at the same time. A short time after I noticed the statement of
A. D. Selby in Bulletin 83, (page 353) Ohio Experiment Station, as
follows: “Prof. Arthur has recently shown that only one of these seeds
can be caused to germinate the first year, the other always remaining
until the second year.” This was a confirmation of the German’s
claim, yet I determined to investigate for myself.
I carried on the experiment for three years with the following
results:

In 1898, I planted 1000 burs; 917 grew two plants to the bur.
In 1899, I planted 1000 burs; 921 grew two plants to the bur.
In 1900, I planted 1000 burs; 913 grew two plants to the bur.
Total three years, 3000 burs; 2751 grew two plants to the bur.

Of the remaining 249 burs some grew one plant, some none;
some had one, some had two apparently sound seeds. I regret that no
further notice was taken of these seeds. The only object was to
determine whether the two seeds could be made to grow at the same
time. An account of the work was sent to Professor Selby, asking
whether further experiment was necessary; he replied that he
thought not.
Perhaps it should be added that I selected only apparently sound
burs; soil was taken from a field near a creek where cockleburs grow
abundantly. It was passed through a ¼ inch-mesh wire sieve, and
carefully searched over with the aid of a glass. This soil was taken to
a distant part of the farm; in it the seeds were planted and nature did
the rest.
I also made observations as follows: I searched among
specimens growing for a mile along a creek, for two plants growing
together and not nearer than five inches to any other plant. Of the
1500 specimens examined each year for three years, two plants
always grew from one bur.
Why have I obtained such opposite results as compared with
Professor Arthur’s? Can it be referred to locality, soil, or some other
more favorable conditions?
The substance of the above was presented, December 27, 1900,
to the Ohio Academy of Science and it provoked a discussion in
which Professors Kellerman, Schaffner, Mosely and others
participated. Dr. Kellerman thought that the results of Arthur’s
experiments were perhaps more nearly in accord with what usually
takes place in nature. He pointed out the mistake of quoting or
saying that Arthur has shown “that only one of the seeds can be
caused to germinate the first year.” Turning to the printed report of
the experiments in question (Proc. 16th, An. Meeting Soc. Prom. Agr.
Sci., 1895), I find that, based on many experiments made previous to
1895, he gives the result in round numbers as follows: “Out of every
hundred ordinarily well formed cockleburs, seventy will produce one
seedling each, and five two seedlings each the first year after
maturity; the remaining twenty-five will for various reasons fail to
grow. Thirty of the hundred will produce seedlings the second year
after maturity, five will produce seedlings the third year after
maturity, and two or three seedlings will be produced in subsequent
years.”
Later experiments by Dr. Arthur seemed to show a lower
percentage of cases of the sprouting of both seeds to the bur in one
season. In the summary he states: “The germination of both seeds of
a bur of Xanthium in one season is exceptional.”
In view of the above and in accordance with the suggestions of
others I purpose continuing my experiments relative to this subject.
The following interesting statement is made by Dr. Arthur, in
the report cited, touching the cause of the difference in the action of
the two seeds; he says it “appears to be constitutional; a hereditary
character residing in the protoplasm of the embryo.”
New London, Ohio.
PLANT REMAINS FROM THE BAUM
VILLAGE SITE.

W. C. Mills.

During the year 1900 the Ohio Archaeological and Historical


Society procured from the ash pits of the Baum Village Site, situated
near Bournville, Ross county, Ohio, a number of grains and seeds,
which were submitted to Prof. J. H. Schaffner for identification. The
following is the list:
Corn, Zea mays L.
Great quantities of the eight rowed variety were found. The cobs
were usually about one-half inch in diameter. Also a variety with
more than eight rows, usually ten rows was found. This variety had a
much thicker cob. The grains and cob were in a good state of
preservation, having been charred. In several instances the charred
remains of a woven fabric were found intermingled with the cobs and
grains, showing that the corn had evidently been wrapped in this
cloth. In other instances the grains and cobs were found in large
pieces of broken pottery and were well preserved. Finding the corn in
so many of the pits shows that it largely supplied the food of the
camp.
Quantities of charred papaw seeds, Asimina triloba, (L.) Dunal,
and the wild Hazelnut, Corylus americana Walt. were found in a
number of pits showing that these were largely used for food.
Quite a quantity of the seeds of the wild red plum, Prunus
americana Marsh. was also taken from the pits. These were, in a
number of instances, associated with papaw seeds and the shells of
the chestnut, Castanea dentata (Marsh.) Borkh.
Great quantities of the broken shells of the butternut, Juglans
cinerea L. and the black walnut, Juglans nigra L. were discovered.
These were usually found associated together, but in several
instances they were found separated, the butternuts being more
abundant than the walnuts.
Three species of hickory nuts were procured but none of these
were in such quantities as the butternut and black walnut. The three
species found were as follows: Hicoria minima (Marsh.) Britt.,
Hicoria ovata (Mill.) Britt., Hicoria laciniosa (Mx.) Britt.
Several specimens of beans, Phaseolus (sp) and also a specimen
of the grape, Vitis (sp.) were found in the material, but it was not
possible to tell whether the beans were one of our wild species or
cultivated.
SPROUTING FLOWER BUDS OF OPUNTIA.

Dr. V. Sterki.

In June of last year I took some Opuntia plants home, and also
some top joints heavily set with large buds. The former were planted
in the garden, the latter set in an Oleander tub. When, after a month,
none of the flower buds had opened, it was thought that they were
too many, as the joints bearing them were without roots, and most of
them were cut off and left lying on the ground, where a part of them
later on became partly or entirely covered with soil. In September, I
was surprised to find them all green and fresh; most of them had
rooted, and a few even sprouted, sending up shoots from half an inch
to over an inch high, being perfect little joints. At the present writing
(Jan. a. c.) all are alive, and, no doubt, will grow out to plants next
summer. They will be watched closely and further report be given.
It might be added that the Opuntia calyx-tube, which is later the
fruit, has “eyes,” that is buds, of the same character as the ordinary
buds of the plant, with clusters of bristles; and out of these the young
shoots grew, when the bud took root.
Evidently these buds retain more of the nature of the mother
plant than is common in flowers. It is unknown to me whether
similar observations have been made before. But it would be of
interest to make experiments with different plants. Would the
receptacles root and sprout if detached after flowering and
fertilization have taken place? Would the buds sprout when left in
situ on the mother plant, after the flowering parts had been removed,
the receptacle only left in place? Will the buds of other genera of
Cacteae, and other similar succulent plants behave in the same way,
under favorable conditions?
So-called viviparous plants are, as is well known, rather
common, e. g. among Gramineae, Cyperaceae, Polygoneae. But there
the actual flower parts develop into leaves, from which they had
originally been derived, and while yet remaining on the parent plant.
New Philadelphia, Ohio.
NOTE ON THE INVOLUCRAL LEAVES OF
SYNDESMON.

F. H. Burglehaus.

Syndesmon thalictroides is described in Britton & Brown’s Flora


as having sessile involucral leaves, which character is contradicted in
the plants growing in the vicinity of Toledo. Careful observation
during the past season fails to reveal a single instance of sessile
involucral leaves, and most of the specimens examined have these
leaves borne on petioles from one-fourth to one-half inch in length.
Should like to hear from others concerning this feature of one of our
most beautiful and dainty spring flowers.
Toledo, Ohio.
COMPETITION IN BOTANY FOR OHIO
SCHOOLS.

W. A. Kellerman.

Whatever may contribute to a more direct and real study of the


plant kingdom on the part of the pupils can well be encouraged by
the teacher. It is an unfortunate fact that in reference to a course in
botany the notion largely prevails that it consists of lesson-work with
a text-book like a course in history or algebra. It is often more
dreaded than the latter because of the supposed necessity of learning
a long list of difficult technical terms. Few teachers would be willing
to give up the use of the text-book entirely and it is not at all
necessary that they should. But every teacher can now choose a
modern book of botany from the fairly long list that is offered by
American publishers. These are not mainly terminology nor written
with the chief aim of enabling the pupil, after having gone through a
sufficient number of chapters, to “analyze” flowers. Many of them
unfortunately provide no means of identifying the native plants as a
part of a school course, but teachers are not left without choice of a
good book after such ultra ones are thrown out of the list.
The text of an elementary book on botany should contain the
important facts and principles of the science, and give a brief but
comprehensive idea of the plant kingdom, in simple and plain
language. An intimation and partial elucidation of means and
methods employed to test or to verify the principles and inferences
should be evident in the text. But this of itself is not sufficient for
pedagogical purposes; there should be besides practical work
provided, regular in time, ample in amount, that may train in the
exercise of observation, experimentation and judgment.
I have for years devoted one-half the time of the botanical
courses, both elementary and advanced, to such real work carried on
partly in the laboratory, partly in the field. Besides courses here
referred to others devoted wholly to laboratory, experimental or
observational work are provided; but it is not my purpose to discuss
these now. Neither is it necessary to give here a detailed outline of
the practical work that should constitute a substantial portion of the
elementary work for beginners. Those who wish to use such a simple
yet ample course in the public schools can consult the “Practical
Studies in Elementary Botany” published by Eldredge & Bro.,
Philadelphia, Pa.
But I desire to say in this connection that more real work on the
native flora than is attempted even by able and enthusiastic teachers
in Ohio schools would undoubtedly be advisable. I have outlined
some competition work and submitted it to some of the schools
looking to more interest in elementary practical work in this science.
It has been urged that the project might be made more widely known
to our Ohio schools with possible advantage, and therefore I have
furnished, though with some misgivings, the following statement of
this scheme.
Either of the following subjects may be selected: Mosses,
Lichens, or Trees; the work to conform to the suggestions and
directions given below. The Report of the work must be completed
on or before May 15, 1901, and submitted to the Teacher of Botany,
or person (or persons) designated by him, who—taking into account
both the quality and quantity of the work—will forward, if worthy,
the best report accompanied by the illustrative material, to the
undersigned; whereupon the latter will, on or before May 31, send as
a reward to the author of said report a copy of the Ohio Naturalist
Vol. 1.
Pupils now studying, or those who have formerly studied,
botany are eligible to enter the competition. No award will be made
unless at least two or three pupils undertake the work; it is hoped
that every member of the class will compete.
It is desired that the pupils consult teachers, parents, and
others, who may be able to advise as to the subject, kind and extent
of the work, also as to the best arrangement and wording of the
report, and the labelling and preparation of the accompanying
illustrative material.
The report is to contain a detailed account of the work actually
done by the pupil and in no case to contain anything not his own.
The names of those entering the competition must be sent to the
undersigned on or before March 30th. The suggestions, directions
and explanation of the three subjects proposed are as follows:
Bryological.—All the kinds of Mosses in the region should be
collected and put under slight pressure till dry; then a small portion
should be glued directly upon a piece of card-board and a larger
amount placed in a paper pocket and attached to the same piece; the
notes and drawings can also be attached to the same card-board
which for each species should be 8¼ x 11½ inches. Most of the kinds
(species) can be found in fruit; the latter is a capsule (little pod) on a
slender stem called the seta. Specimens without fruit are not very
satisfactory.
Tell in each case on what the specimen grows, as the ground,
tree trunk, old log, rock, boulder, etc.; add other notes relating to its
situation (habitat), abundance, appearance, general character
(habit), etc.
Draw an enlarged figure at least of the capsule (fruit) of some or
all of the species (kinds) collected. In the early stage there is usually a
cap (called calyptra) on the capsule. When the capsule is ripe it opens
by a lid (called the operculum) for the escape of the spores. Notice
the teeth (called collectively the peristome) surrounding the mouth
of the capsule—evident when the operculum falls off.
A good pocket lens must be used for this work. The drawings
must be clear; after completed with a sharp lead pencil it would be
well to retrace with a fine pen and india (or drawing) ink. Excessive
shading of the figures is objectionable.
If a book is desired, a suitable one for beginners is Grout’s
“Mosses with a Hand-lens,” price $1.10; orders sent to the author or
to the writer of this article will be promptly attended to. But for the
purposes of this competition the botanical names of mosses are not
required; it will be of course more interesting if an attempt at the
identification of the species is in all cases made.
Lichenological.—All the kinds of Lichens in the region should
be collected. The little disks, or saucer-like bodies, on the plants are
the fruit (called the apothecium); the apothecia are more distinct and
striking in appearance, as is the whole plant also, when moist;
therefore the best time to collect lichens is after a prolonged rain, or
when the air is moist; when dry they are usually brittle and cannot be
satisfactorily handled.
Do not save specimens that have no fruit, except in case of rare
species. Only enough pressure on the specimens (placed between
blotters or soft papers) should be brought into requisition as is
necessary to keep them from curving or crumpling while drying.
Then glue a specimen to a card-board, 8¼ × 11½ inches, and also
attach a paper pocket containing ample material, and the drawings
(if any are attempted), also the notes, to the same piece of card-
board. Use a separate card-board for each kind (species).
Tell the substratum on which the specimen was found—as
boulders, limestone, sandstone, log or stump, fence-rail, tree or
plant, soil, etc. Give additional notes as to appearance, size,
abundance, habitat, habit, etc. Those growing on rocks can not
generally be removed—a thin piece of rock must be chipped off to
secure them.
A detailed description should be written of each kind (species);
drawings perhaps might be undertaken; the different species should
be compared and contrasted. Use a good pocket lens. There is no
text-book on Lichens that is usable by beginners.
Dendrological.—The Trees may be studied from one of several
points of view. If a camera be used, selected trees should be studied
and illustrated; the bark compared in case of different species,
likewise in case of one and the same species when the individuals are
of different ages and sizes or grow in different situations or
exposures; also modes of branching compared and shapes
contrasted. Very full notes should be taken, and when written up in
the report reference should be made constantly to the numbered
illustrations. Few or many kinds of trees, as preferred, may be taken
if this phase of the subject is selected.
Instead of the above one may study and identify all the kinds
(species) of trees in the region. Full descriptions should be written
out, and similarities and contrasts of different species noted. Give
uses of the kinds of woods only when such use is made in the region
or the near town or city. Collect twigs and fasten them to card-boards
(8¼ × 11½ inches). Attach a specimen of the fruit also when it can
be found under the tree. A pamphlet (price 10 cents) with a Key to
the Ohio Forest Trees by means of which the names can be
determined, may be obtained from the writer.
A third method of carrying out the work on trees would be to
give an account of the forest area in the region—either taking a
square or rectangular tract of a mile or more in extent; or selecting if
possible a natural area, as a river or creek valley, or other obviously
bounded tract of ample dimensions. Draw a map of the selected
region and locate thereon the forests and groups of trees. Describe
them, indicating the prominent kinds of trees, the less abundant
species, and the very rare ones. Tell approximately the size of the
largest, the commonest size, etc. Note uses made of some of the
kinds in the region or at a near manufactory. Record other
observations.
MINOR PLANT NOTES, NO. 2.

W. A. Kellerman.

Taraxacum Erythrospermum.—The Red-seeded Dandelion,


now known to be common in our State, is a late bloomer. An
abundance of flowers may be seen way after the severe frosts of
autumn set in. Mr. Fred. J. Tyler collected specimens in bloom at
Perry, Lake County, December 17. He reports “great fields” of it at
that place, whereas the common Dandelion (Taraxacum taraxacum)
was conspicuous by its absence. Prof. Beardslee of Cleveland, reports
the Red-seeded form as the one of common occurrence in Cuyahoga
County. I have noted the Red-seeded form in bloom near the city of
Columbus December 23, though the month has been a cold one, the
thermometer registering once 10° F. The Common Dandelion
(Taraxacum taraxacum) does not seem to bloom so late in the season
—at least it is in bloom much less abundantly here. Contributions of
phenological observations on interesting plants of our flora by
readers of The Naturalist are in this incidental way earnestly
solicited.
Grove of Large Beeches.—There are now remaining in Ohio
very few large groves of beeches. Of groves of very large beeches the
same may be said. At Arion, in Scioto County, in the narrow valley of
Brush Creek, are a large number of magnificent specimens of this
very attractive American tree. The trunks are straight as is always the
case for this species, smooth, and many of them are ten to twelve feet
in circumference. One specimen measured twelve feet four inches,
three feet from the ground. The grove is now used for picnic and
camping purposes, and it is sincerely hoped that these splendid trees
may be sacredly preserved for an indefinite time.
Habitat of Rhamnus Caroliniana.—The manuals give the
habitat of this species “in swamps and on low grounds” (Britton),
“swamps and river banks” (Gray), “river banks” (Wood), and “fertile
soil” (Chapman). It has been previously reported that this species
was found in Ohio last November. Several specimens were found
near the Ohio river in Adams county at the mouth of Brush creek,
and a few were seen in Brown county. In a little ravine on Cedar
creek, a tributary of Brush creek, in Adams county, fourteen miles
north of the Ohio river, an enormous number of plants were growing.
Some were nine to eleven inches in circumference at the base and
fourteen feet high. None occurred in “swamps,” though many were in
“low grounds” where the soil seemed to be fairly fertile. The majority
were on rocky hillsides or quite on the top of very high ground. The
annexed cut shows a specimen near the top of a rocky bluff or hill
perhaps one hundred and fifty feet above the valley at Cedar Mills,
Ohio. This southern Buckthorn still retained its shining leaves
though my visit was late in November when nearly all the other trees
except the oaks were bare. This, with the great quantities of black
fruits, presented a charming spectacle. The plant is also reported in
Stanley Coulter’s catalogue of Indiana plants, discovered in the
southern counties by Mr. W. T. Blatchley, “growing on rocky
hillsides.”
Rhamnus Caroliniana on a rocky hill.
Twin Beech and Red Oak.

Twin Trees; Two Species.—Sometimes two trees attempt to


occupy the same space at the same time. The cut above shows a red
oak and a beech in close juxtaposition, neither having been able to
crowd the other out, and the two are united for a short distance from
the ground. This would hardly be called a natural graft perhaps,
though the two are intimately united. The trees are vigorous typical
specimens of the two species, growing near Brush creek, at Arion, in
Scioto county, Ohio. Several other examples in the same region were
noticed. Sometimes the two trees are the same species, but usually of
different species, the union of tissue in all cases equally evident.

You might also like