Each submitted package on CRAN also has a page that describes what the
package is about. You can view the 
ggplot2
page at 
http://cran.r-
project.org/web/packages/ggplot2/index.html
.
Although it’s fairly common practice to simply refer to the package as
ggplot
, it is, in fact, the second implementation of the grammar of graphics for
R; hence, the package is 
ggplot2
. As of this writing, the current version of the
package is version 0.9.0.
Perhaps somewhat confusingly, the most important function in this package is
ggplot()
. Notice that the function doesn’t have a 2 in its name. So, be careful to
include the 2 when you 
install.packages()
or 
library()
the package in your R
code, but the function 
ggplot()
itself does not contain a 2.
In Chapter 3, you also see how to install a package for the first time with the
install.packages()
function and to load the package at the start of each R session
with the 
library()
function.
To install the 
ggplot2
package, use the following:
> install.packages(“ggplot2”)
And then to load it, use the following:
> library(“ggplot2”)
Looking At Layers
The basic concept of a 
ggplot2
graphic is that you combine different elements
into layers. Each layer of a 
ggplot2
graphic contains information about the
following:
The data that you want to plot: For 
ggplot()
, this must be a data frame.
A mapping from the data to your plot: This usually is as simple as telling
ggplot()
what goes on the x-axis and what goes on the y-axis. (In the “Mapping
data to plot aesthetics” section, later in this chapter, we explain how to use the
Pdf searchable text converter - search text inside PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn how to search text in PDF document and obtain text content and location information
how to make a pdf file text searchable; pdf make text searchable
Pdf searchable text converter - VB.NET PDF Text Search Library: search text inside PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn How to Search Text in PDF Document and Obtain Text Content and Location Information in VB.NET application
how to select all text in pdf; select text in pdf
aes()
function to set up the mapping.)
A geometric object, or geom in 
ggplot
terminology: The geom defines the
overall look of the layer (for example, whether the plot is made up of bars,
points, or lines).
A statistical summary, called a stat in 
ggplot
: This describes how you want
the data to be summarized (for example, binning for histograms, or smoothing
to draw regression lines).
That was a mouthful. In practice, you describe all this in a short line of code.
For example, here is the 
ggplot2
code to plot the 
faithful
data using two layers.
(Because you plot 
faithful
in Chapter 17, we won’t bore you by describing it
here.) The first layer is a geom that draws the points of a scatterplot; the second
layer is a stat that draws a smooth line through the points.
> ggplot(faithful, aes(x=eruptions, y=waiting)) + geom_point() +
stat_smooth()
This single line of code creates the graphic in Figure 18-1.
Figure 18-1: A 
ggplot2
graphic of the 
faithful
dataset.
Using Geoms and Stats
To create a 
ggplot2
graphic, you have to explicitly tell the function what’s in
each of the components of the layer. In other words, you have to tell the 
ggplot()
function your data, the mapping between your data and the geom, and then either
a geom or a stat.
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
document to editable & searchable text file. Different from other C# .NET PDF to text conversion controls, RasterEdge C# PDF to text converter control toolkit
how to select text in pdf; search multiple pdf files for text
Online Convert PDF to Text file. Best free online PDF txt
document to editable & searchable text file. Different from other C# .NET PDF to text conversion controls, RasterEdge C# PDF to text converter control toolkit
how to select text on pdf; find and replace text in pdf
In this section, we discuss geoms and then stats.
Defining what data to use
The first element of a 
ggplot2
layer is the data. There is only one rule for
supplying data to 
ggplot()
: Your data must be in the form of a data frame.
This is different from base graphics, which allow plotting of data in vectors,
matrices, and other structures.
In the remainder of this chapter we use the built-in dataset 
quakes
. As you see
in Chapters 13 and 17, 
quakes
is a data frame with information about earthquakes
near Fiji.
You tell 
ggplot()
what data to use and how to map your data to your 
geom
in
the 
ggplot()
function. The 
ggplot()
function takes two arguments:
data
: a data frame with your data (for example, 
data=quakes
).
...
: The dots argument indicates that any other argument you specified here
gets passed on to downstream functions (that is, other functions that 
ggplot()
happens to call). In the case of 
ggplot()
, this means that anything you specify
in this argument is available to your geoms and stats that you define later.
Because the dots argument is available to any geom or stat in your plot, it’s
a convenient place to define the mapping between your data and the visual
elements of your plot.
This is where you typically specify a mapping between your data and your
geom.
Mapping data to plot aesthetics
After you’ve told 
ggplot()
what data to use, the next step is to tell it how your
data corresponds to visual elements of your plot. This mapping between data and
VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net
Text in any PDF fields can be copied and pasted to .txt files by keeping VB.NET control for batch converting PDF to editable & searchable text formats.
select text in pdf file; how to make a pdf document text searchable
VB.NET Image: Robust OCR Recognition SDK for VB.NET, .NET Image
for VB.NET provides users fast and accurate image recognition function, which converts scanned images into searchable text formats, such as PDF, PDF/A, WORD
can't select text in pdf file; select text in pdf reader
visual elements is the second element of a 
ggplot2
layer.
The visual elements of a plot, or aesthetics, include lines, points, symbols,
colors, position . . . anything that you can see. For example, you can map a column
of your data to the x-axis of your plot, or you can map a column of your data to
correspond to the y-axis of your plot. You also can map data to groups, colors or
the size of points in scatterplots — in fact, you can map your data to anything that
your 
geom
supports.
You use the special function 
aes()
to set up a mapping between data and
aesthetics. Each argument to 
aes()
maps a column in your data to a specific
element in your 
geom
.
Take another look at the code used to create Figure 18-1:
> ggplot(faithful, aes(x=eruptions, y=waiting)) + geom_point() +
stat_smooth()
You can see that this code tells 
ggplot()
to use the data frame 
faithful
as
the data source. And now you understand that 
aes()
creates a mapping between
the x-axis and 
faithful$eruptions
, as well as between the y-axis and
faithful$waiting
.
The next thing you notice about this line are the plus signs. In 
ggplot2
, you
use the 
+
operator to combine the different layers of the plot.
In summary, you use the 
aes()
function to define the mapping between your
data and your plot. This is simple enough, but it leaves one question: How do you
know which aesthetics are available in different geoms?
Getting geoms
ggplot2
geom tells the plot how you want to display your data. For example,
you use 
geom_bar()
to make a bar chart. In 
ggplot2
, you can use a variety of
predefined geoms to make standard types of plot.
A geom defines the layout of a 
ggplot2
layer. For example, there are geoms to
create bar charts, scatterplots, and line diagrams (as well as a variety of other
plots), as you can see in Table 18-1.
C# Create PDF Library SDK to convert PDF from other file formats
The PDF document file created by RasterEdge C# PDF document creator library is searchable and can be fully populated with editable text and graphics
search pdf for text in multiple files; pdf editor with search and replace text
C# PDF: C# Code to Draw Text and Graphics on PDF Document
Draw and write searchable text on PDF file by C# code in both Web and Windows applications. C#.NET PDF Document Drawing Application.
how to select all text in pdf file; text searchable pdf file
Each geom has a default stat, and each stat has a default geom. In practice,
you have to specify only one of these.
Table 18-1 A Selection of Geoms and Associated
Default Stats
Geom
Description
Default Stat
geom_bar()
Bar chart
stat_bin()
VB.NET Create PDF from Text to convert txt files to PDF in vb.net
Best VB.NET adobe text to PDF converter library for Visual Studio .NET project. Batch convert editable & searchable PDF document from TXT formats in VB.NET
pdf find highlighted text; convert a scanned pdf to searchable text
C# Create PDF from Text to convert txt files to PDF in C#.net, ASP
PDF converter SDK for converting adobe PDF from TXT in Visual Studio .NET project. .NET control for batch converting text formats to editable & searchable PDF
search pdf for text; search pdf documents for text
geom_point()
Scatterplot
stat_identity()
geom_line()
Line diagram, connecting observations in ordered by x-value
stat_identity()
geom_boxplot
Box-and-whisker plot
stat_boxplot()
geom_path
Line diagram, connecting observations in original order
stat_identity()
geom_smooth
Add a smoothed conditioned mean
stat_smooth()
geom_histogram
An alias for 
geom_bar()
and 
stat_bin()
stat_bin()
Creating a bar chart
To make a bar chart you use the 
geom_bar()
function. However, note that the
default stat is 
stat_bin()
, which is used to cut your data into bins. Thus, the
default behavior of 
geom_bar()
is to create a histogram.
For example, to create a histogram of the depth of earthquakes in the 
quakes
dataset, you do the following:
> ggplot(quakes, aes(x=depth)) + geom_bar()
> ggplot(quakes, aes(x=depth)) + geom_bar(binwidth=50)
Notice that your mapping defines only the x-axis variable (in this case,
quakes$depth)
. A useful argument to 
geom_bar()
is 
binwidth
, which controls the
size of the bins that your data is cut into. This creates the plot of Figure 18-2.
So, if 
geom_bar()
makes a histogram by default, how do you make a bar
chart? The answer is that you first have to aggregate your data, and then
specify the argument 
stat=”identity”
in your call to 
geom_bar()
.
In the next example, you use 
aggregate()
(see Chapter 13) to calculate the
number of quakes at different depth strata:
> quakes.agg <- aggregate(mag ~ round(depth, -1), data=quakes,
+                 FUN=length)
> names(quakes.agg) <- c(“depth”, “mag”)
Now you can plot the object 
quakes.agg
with 
geom_bar(stat=”identity”)
:
VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.
less searchable for search engines. The other is the crashing problem when user is visiting the PDF file using web browser. Our PDF to HTML converter library
pdf find and replace text; select text pdf file
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Export all Word text and image content into high quality PDF without losing formatting. Easy to create searchable and scanned PDF files from Word.
pdf text select tool; how to make pdf text searchable
> ggplot(quakes.agg, aes(x=depth, y=mag)) +
+     geom_bar(stat=”identity”)
Your results should be very similar to Figure 18-2.
In summary, you can use 
geom_bar()
to create a histogram and let 
ggplot2
summarize your data, or you can presummarize your data and then use
stat=”identity”
to plot a bar chart.
Making a scatterplot
To create a scatterplot, you use the 
geom_point()
function. A scatterplot
creates points (or sometimes bubbles or other symbols) on your chart. Each point
corresponds to an observation in your data.
You’ve probably seen or created this type of graphic a million times, so you
already know that scatterplots use the Cartesian coordinate system, where one
variable is mapped to the x-axis and a second variable is mapped to the y-axis.
In exactly the same way, in 
ggplot2
you create a mapping between x-axis and
y-axis variables. So, to create a plot of the 
quakes
data, you map 
quakes$long
to
the x-axis and 
quakes$lat
to the y-axis:
> ggplot(quakes, aes(x=long, y=lat)) + geom_point()
This creates Figure 18-3.
Figure 18-2: Making a histogram with 
geom_bar()
.
Figure 18-3: Making a scatterplot with 
geom_point()
.
Creating line charts
To create a line chart, you use the 
geom_line()
function. You use this function
in a very similar way to 
geom_point()
, with the difference that 
geom_line()
draws a
line between consecutive points in your data.
This type of chart is useful for time series data in data frames, such as the
population data in the built-in dataset 
longley
(see Chapter 17). To create a line
chart of unemployment figures, you use the following:
> ggplot(longley, aes(x=Year, y=Unemployed)) + geom_line()
This creates Figure 18-4.
Figure 18-4: Drawing a line chart with 
geom_line()
.
You can use either 
geom_line()
or 
geom_path()
to create a line drawing in
ggplot2
. The difference is that 
geom_line()
first orders the observations
according to x-value, whereas 
geom_path()
draws the observations in the order
found in the data.
Sussing Stats
After data, mapping, and geoms, the fourth element of a 
ggplot2
layer
describes how the data should be summarized. In 
ggplot2
, you refer to this
statistical summary as a stat.
One very convenient feature of 
ggplot2
is its range of functions to summarize
your data in the plot. This means that you often don’t have to pre-summarize your
data. For example, the height of bars in a histogram indicates how many
observations of something you have in your data. The statistical summary for this
is to count the observations. Statisticians refer to this process as binning, and the
default stat for 
geom_bar()
is 
stat_bin()
.
Analogous to the way that each 
geom
has an associated default stat, each stat
also has a default geom. Table 18-2 shows some useful stats functions, their effect,
and their default geoms.
So, this begs the question: How do you decide whether to use a geom or a
stat? In theory it doesn’t matter whether you choose the geom or the stat first. In
practice, however, it often is intuitive to start with a type of plot first — in other
words, specify a geom. If you then want to add another layer of statistical
summary, use a stat.
Figure 18-2, earlier in this chapter, is an example of this. In this plot, you used
the same data to first create a scatterplot with 
geom_point()
and then you added a
smooth line with 
stat_smooth()
.
Next, we take a look at some practical examples of using 
stat
functions.
Table 18-2 Some Useful Stats and Default Geoms
Stat
Description
Default Geom
stat_bin()
Counts the number of observations in bins.
geom_bar()
stat_smooth()
Creates a smooth line.
geom_line()
stat_sum()
Adds values.
geom_point()
stat_identity()
No summary. Plots data as is.
geom_point()
stat_boxplot()
Summarizes data for a box-and-whisker plot.
geom_boxplot()
Binning data
You’ve already seen how to use 
stat_bin()
to summarize your data into bins,
because this is the default stat of 
geom_bar()
. This means that the following two
lines of code produce identical plots:
> ggplot(quakes, aes(x=depth)) + geom_bar(binwidth=50)
> ggplot(quakes, aes(x=depth)) + stat_bin(binwidth=50)
Your plot should be identical to Figure 18-2.
Documents you may be interested
Documents you may be interested