Hello,

It is completely normal. I advise you to read the manual "An introduction to R" on the CRAN website. For example you can find (part 12.1.1) :


       12.1.1 The |plot()| function

One of the most frequently used plotting functions in R is the |plot()| function. This is a /generic/ function: the type of plot produced is dependent on the type or /class/ of the first argument.

|plot(|x|, |y|)|
|plot(|xy|)|
   If x and y are vectors, |plot(|x|, |y|)| produces a scatterplot of y
   against x. The same effect can be produced by supplying one argument
   (second form) as either a list containing two elements x and y or a
   two-column matrix.
|plot(|x|)|
   If x is a time series, this produces a time-series plot. If x is a
   numeric vector, it produces a plot of the values in the vector
   against their index in the vector. If x is a complex vector, it
   produces a plot of imaginary versus real parts of the vector elements.
|plot(|f|)|
|plot(|f|, |y|)|
   f is a factor object, y is a numeric vector. The first form
   generates a bar plot of f; the second form produces boxplots of y
   for each level of f.
|plot(|df|)|
|plot(~ |expr|)|
|plot(|y| ~ |expr|)|
   df is a data frame, y is any object, expr is a list of object names
   separated by `|+|' (e.g., |a + b + c|). The first two forms produce
   distributional plots of the variables in a data frame (first form)
   or of a number of named objects (second form). The third form plots
y against every object named in expr.


Alain


On 26-Jul-10 13:38, Steffen Uhlig wrote:
Hello,

my data.frame is sort of a collection of process values, i.e. huge run-chart. It consists of a time-stamp in the first column (date as string), factors in the following columns (used for subset-filtering), and some process-data columns. Hereafter, two examples are listed, showing the problems that occour during print:

At first the example, that works fine:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a = c(1:10)         # create a vector of integers
b = rep(c("a","b"),5)    # create a vector of chars, used
            # as factor-levels
d = rnorm(10)        # some random numbers
e = data.frame(a,b,d)    # connect to a data.frame

e.1 = subset(e, b=="a")    # create two subsets
e.2 = subset(e, b=="b")
plot(d~a, e.1, pch=3, col=2) # plot first data-subset
points(d~a, e.2, pch=4, col=3) # plot the 2nd one

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
all looks fine in theses plots.


However, changing the content of vector "a" to a set of strings the following happens:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a = c("a","b","c","d","e","f","g","h","i","j")
e = data.frame(a,b,d)       # re-build data.frame

e.1 = subset(e, b=="a")     # create two subsets
e.2 = subset(e, b=="b")
plot(d~a, e.1, pch=3, col=2)
points(d~a, e.2, pch=4, col=3)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The plot-command produces horizontal lines instead of dots. This seems to happen when the x-axis contains strings rather than numbers. is there a way out?

Best regards,
/Steffen

--
Alain Guillet
Statistician and Computer Scientist

SMCS - IMMAQ - Université catholique de Louvain
Bureau c.316
Voie du Roman Pays, 20
B-1348 Louvain-la-Neuve
Belgium

tel: +32 10 47 30 50

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to