c# display pdf in winform : Add page to pdf reader SDK control service wpf azure .net dnn R%20Graphics%20Cookbook14-part694

Figure 6-8. Density curves with adjust set to .25 (red), default value of 1 (black), and 2
Figure 6-9. Left: density curve with wider x limits and a semitransparent fill; right: in
two parts, with geom_density() and geom_line()
To compare the theoretical and observed distributions, you can overlay the density curve
with the histogram. Since the y values for the density curve are small (the area under
the curve always sums to 1), it would be barely visible if you overlaid it on a histogram
without any transformation. To solve this problem, you can scale down the histogram
to match the density curve with the mapping y=..density... Here we’ll add geom_his
togram() first, and then layer geom_density() on top (Figure 6-10):
ggplot(faithful, aes(x=waiting, y=..density..)) +
geom_histogram(fill="cornsilk", colour="grey60", size=.2+
geom_density() +
6.3. Making a Density Curve | 125
Add page to pdf reader - insert pages into PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide C# Users to Insert (Empty) PDF Page or Pages from a Supported File Format
add remove pages from pdf; add and remove pages from a pdf
Add page to pdf reader - VB.NET PDF Page Insert Library: insert pages into PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document
add a page to a pdf in acrobat; add page number to pdf file
Figure 6-10. Density curve overlaid on a histogram
See Also
See Recipe 6.9 for information on violin plots, which are another way of representing
density curves and may be more appropriate for comparing multiple distributions.
6.4. Making Multiple Density Curves from Grouped Data
You want to make density curves of multiple groups of data.
Use geom_density(), and map the grouping variable to an aesthetic like colour or
fill, as shown in Figure 6-11. The grouping variable must be a factor or character vector.
In the birthwt data set, the desired grouping variable, smoke, is stored as a number, so
we have to convert it to a factor first:
library(MASS) # For the data set
# Make a copy of the data
birthwt1 <- birthwt
# Convert smoke to a factor
birthwt1$smoke <- factor(birthwt1$smoke)
# Map smoke to colour
126 | Chapter 6: Summarized Data Distributions
C# PDF insert image Library: insert images into PDF in C#.net, ASP
How to insert and add image, picture, digital photo, scanned signature or logo into PDF document page in C#.NET class application?
add page numbers to pdf reader; add pages to pdf without acrobat
VB.NET PDF insert image library: insert images into PDF in vb.net
VB.NET PDF - Add Image to PDF Page in VB.NET. Have a try with this sample VB.NET code to add an image to the first page of PDF file. ' Open a document.
add or remove pages from pdf; adding page numbers to a pdf in reader
ggplot(birthwt1, aes(x=bwt, colour=smoke)) + geom_density()
# Map smoke to fill and make the fill semitransparent by setting alpha
ggplot(birthwt1, aes(x=bwt, fill=smoke)) + geom_density(alpha=.3)
Figure 6-11. Left: different line colors for each group; right: different semitransparent fill
colors for each group
To make these plots, the data must all be in one data frame, with one column containing
a categorical variable used for grouping.
For this example, we used the birthwt data set. It contains data about birth weights and
a number of risk factors for low birth weight:
low age lwt race smoke ptl ht ui ftv  bwt
 19 182    2     0   0  0  1   0 2523
 33 155    3     0   0  0  0   3 2551
 20 105    1     1   0  0  0   1 2557
We looked at the relationship between smoke (smoking) and bwt (birth weight in grams).
The value of smoke is either 0 or 1, but since it’s stored as a numeric vector, ggplot()
doesn’t know that it should be treated as a categorical variable. To make it so ggplot()
knows to treat smoke as categorical, we can either convert that column of the data frame
to a factor, or tell ggplot() to treat it as a factor by using factor(smoke) inside of the
aes() statement. For these examples, we converted it to a factor in the data.
Another method for visualizing the distributions is to use facets, as shown in
Figure 6-12. We can align the facets vertically or horizontally. Here we’ll align them
vertically so that it’s easy to compare the two distributions:
6.4. Making Multiple Density Curves from Grouped Data | 127
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
VB.NET Page: Insert PDF pages; VB.NET Page: Delete PDF Add Image to PDF; VB.NET Protect: Add Password to VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for C#;
add and delete pages in pdf online; add page numbers to pdf document
VB.NET PDF Password Library: add, remove, edit PDF file password
On this page, we will illustrate how to protect PDF document via password by using simple VB.NET demo code. Open password protected PDF. Add password to PDF.
add page to pdf online; adding page numbers to pdf documents
Figure 6-12. Left: density curves with facets; right: with different facet labels
ggplot(birthwt1, aes(x=bwt)) + geom_density() + facet_grid(smoke ~ .)
One problem with the faceted graph is that the facet labels are just 0 and 1, and there’s
no label indicating that those values are for smoke. To change the labels, we need to
change the names of the factor levels. First we’ll take a look at the factor levels, then we’ll
assign new factor level names, in the same order:
"0" "1"
library(plyr) # For the revalue function
birthwt1$smoke <- revalue(birthwt1$smoke, c("0"="No Smoke""1"="Smoke"))
Now when we plot it again, it shows the new labels (Figure 6-12, right):
ggplot(birthwt1, aes(x=bwt)) + geom_density() + facet_grid(smoke ~ .)
If you want to see the histograms along with the density curves, the best option is to use
facets, since other methods of visualizing both histograms in a single graph can be
difficult to interpret. To do this, map y=..density.., so that the histogram is scaled
down to the height of the density curves. In this example, we’ll also make the histogram
bars a little less prominent by changing the colors (Figure 6-13):
ggplot(birthwt1, aes(x=bwt, y=..density..)) +
geom_histogram(binwidth=200, fill="cornsilk", colour="grey60", size=.2+
geom_density() +
facet_grid(smoke ~ .)
128 | Chapter 6: Summarized Data Distributions
C# PDF Password Library: add, remove, edit PDF file password in C#
your PDF document in C# project, XDoc.PDF provides some PDF security settings. On this page, we will talk about how to achieve this via Add necessary references
adding page numbers to pdf in; add pages to an existing pdf
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
DLLs for Deleting Page from PDF Document in VB.NET Class. In order to run the sample code, the following steps would be necessary. Add necessary references:
add pages to pdf online; add page to pdf
Figure 6-13. Density curves overlaid on histograms
6.5. Making a Frequency Polygon
You want to make a frequency polygon.
Use geom_freqpoly() (Figure 6-14):
ggplot(faithful, aes(x=waiting)) + geom_freqpoly()
A frequency polygon appears similar to a kernel density estimate curve, but it shows the
same information as a histogram. That is, like a histogram, it shows what is in the data,
whereas a kernel density estimate is just that—an estimate—and requires you to pick
some value for the bandwidth.
Also like a histogram, you can control the bin width for the frequency polygon
(Figure 6-14, right):
ggplot(faithful, aes(x=waiting)) + geom_freqpoly(binwidth=4)
6.5. Making a Frequency Polygon | 129
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
C#.NET Project DLLs for Deleting PDF Document Page. In order to run the sample code, the following steps would be necessary. Add necessary references:
adding page numbers to pdf in preview; add page break to pdf
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
C#.NET Tutorial for How to Add a Sticky Note Annotation to PDF Page with Visual enable users to annotate PDF without adobe PDF reader control installed.
add pages to pdf reader; add a page to a pdf online
Figure 6-14. Left: a frequency polygon; right: with wider bins
Or, instead of setting the width of each bin directly, you can divide the x range into a
particular number of bins:
# Use 15 bins
binsize <- diff(range(faithful$waiting))/15
ggplot(faithful, aes(x=waiting)) + geom_freqpoly(binwidth=binsize)
See Also
Histograms display the same information, but with bars instead of lines. See Recipe 6.1.
6.6. Making a Basic Box Plot
You want to make a box (or box-and-whiskers) plot.
Use geom_boxplot(), mapping a continuous variable to y and a discrete variable to x
(Figure 6-15):
library(MASS) # For the data set
ggplot(birthwt, aes(x=factor(race), y=bwt)) + geom_boxplot()
# Use factor() to convert numeric variable to discrete
130 | Chapter 6: Summarized Data Distributions
Figure 6-15. A box plot
For this example, we used the birthwt data set from the MASS library. It contains data
about birth weights and a number of risk factors for low birth weight:
low age lwt race smoke ptl ht ui ftv  bwt
 19 182    2     0   0  0  1   0 2523
 33 155    3     0   0  0  0   3 2551
 20 105    1     1   0  0  0   1 2557
In Figure 6-15, the data is divided into groups by race, and we visualize the distributions
of bwt for each group. The value of race is 1, 2, or 3, but since it’s stored as a numeric 
vector, ggplot() doesn’t know how to use it as a grouping variable. To make this work,
we can modify the data frame by converting race to a factor, or tell ggplot() to treat it
as a factor by using factor(race) inside of the aes() statement. In the preceding ex‐
ample, we used factor(race).
A box plot consists of a box and “whiskers.” The box goes from the 25th percentile to
the 75th percentile of the data, also known as the inter-quartile range (IQR). There’s a
line indicating the median, or 50th percentile of the data. The whiskers start from the
edge of the box and extend to the furthest data point that is within 1.5 times the IQR.
If there are any data points that are past the ends of the whiskers, they are considered
outliers and displayed with dots. Figure 6-16 shows the relationship between a histo‐
gram, a density curve, and a box plot, using a skewed data set.
6.6. Making a Basic Box Plot | 131
Figure 6-16. Box plot compared to histogram and density curve
To change the width of the boxes, you can set width (Figure 6-17, left):
ggplot(birthwt, aes(x=factor(race), y=bwt)) + geom_boxplot(width=.5)
Figure 6-17. Left: box plot with narrower boxes; right: with smaller, hollow outlier points
If there are many outliers and there is overplotting, you can change the size and shape
of the outlier points with outlier.size and outlier.shape. The default size is 2 and
the default shape is 16. This will use smaller points, and hollow circles (Figure 6-17,
ggplot(birthwt, aes(x=factor(race), y=bwt)) +
geom_boxplot(outlier.size=1.5, outlier.shape=21)
132 | Chapter 6: Summarized Data Distributions
To make a box plot of just a single group, we have to provide some arbitrary value for
x; otherwise, ggplot() won’t know what x coordinate to use for the box plot. In this
case, we’ll set it to 1 and remove the x-axis tick markers and label (Figure 6-18):
ggplot(birthwt, aes(x=1, y=bwt)) + geom_boxplot() +
theme(axis.title.x = element_blank())
Figure 6-18. Box plot of a single group
The calculation of quantiles works slightly differently from the box
plot() function in base R. This can sometimes be noticeable for small
sample sizes. See ?geom_boxplot for detailed information about how
the calculations differ.
6.7. Adding Notches to a Box Plot
You want to add notches to a box plot to assess whether the medians are different.
Use geom_boxplot() and set notch=TRUE (Figure 6-19):
library(MASS) # For the data set
ggplot(birthwt, aes(x=factor(race), y=bwt)) + geom_boxplot(notch=TRUE)
6.7. Adding Notches to a Box Plot | 133
Figure 6-19. A notched box plot
Notches are used in box plots to help visually assess whether the medians of distributions
differ. If the notches do not overlap, this is evidence that the medians are different.
With this particular data set, you’ll see the following message:
Notch went outside hinges. Try setting notch=FALSE.
This means that the confidence region (the notch) went past the bounds (or hinges) of
one of the boxes. In this case, the upper part of the notch in the middle box goes just
barely outside the box body, but it’s by such a small amount that you can’t see it in the
final output. There’s nothing inherently wrong with a notch going outside the hinges,
but it can look strange in more extreme cases.
6.8. Adding Means to a Box Plot
You want to add markers for the mean to a box plot.
Use stat_summary(). The mean is often shown with a diamond, so we’ll use shape 23
with a white fill. We’ll also make the diamond slightly larger by setting size=3
(Figure 6-20):
134 | Chapter 6: Summarized Data Distributions
Documents you may be interested
Documents you may be interested