如何在 R 中绘制线图?

发布于 2025-01-07 03:28:57 字数 444 浏览 2 评论 0原文

我正在尝试使用 R 制作 Excel 类型的线图,其中我的 x 轴是文本(A、B、c 等),y 轴(可以是负值和正值)是上下列。我想放弃红色而放弃绿色。

如果有人能在这方面帮助我,我将非常感激。我已经在 Excel 中绘制了此图,但我的数据中有数千行,并且 Excel 没有显示图中的所有文本点。

我的数据如下所示:

Name    UP  Downs
A   10  -3
B   2   -4
C   1   -1
D   4   -1
E   5   0
F   0   -1
G   6   -5
H   0   -1
I   7   -1
J   0   -1
K   0   -11
L   3   -1
M   0   -13
N   2   -1
O   0   -1
P   1   -1
Q   0   0
R   1   -1
S   0   0
T   12  -1

I am trying to use R to make an excel kind of a line plot, where my x axis is text (A,B,c..etc) and the y axis(which can be both negative and positive) are up and down columns. I want to give up a red color and down green.

I would really appreciate if anyone can help me regarding this. I have plotted this in excel but i have thousands of rows in my data and excel doesnot show all the text point in my plot.

My data looks like the following:

Name    UP  Downs
A   10  -3
B   2   -4
C   1   -1
D   4   -1
E   5   0
F   0   -1
G   6   -5
H   0   -1
I   7   -1
J   0   -1
K   0   -11
L   3   -1
M   0   -13
N   2   -1
O   0   -1
P   1   -1
Q   0   0
R   1   -1
S   0   0
T   12  -1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嘴硬脾气大 2025-01-14 03:28:57

这可能不是最优雅的方法,但您可以使用 plotpointsaxis (< code>axis 是主要的,它解释了如何更改轴上的标签):?axis?plot?points

首先制作一个与您类似的数据框,以便我可以演示...

# make a data frame similar to yours
mydf <- data.frame( Name=LETTERS, 
        Up=sample.int(15,size=26,replace=T), 
        Down=-sample.int(15,size=26,replace=T) )

现在绘制。

# set up a plot: x axis goes from 1 to 26,
# y limit goes from -15 to 15 (picked manually, you can work yours out
#   programmatically)
# Disable plotting of axes (axes=FALSE)
# Put in some x and y labels and a plot title (see ?plot...)
plot(0,xlim=c(1,26),ylim=c(-15,15),type='n',
     axes=FALSE,                 # don't draw axis -- we'll put it in later.
     xlab='Name',ylab='Change',  # x and y labels
     main='Ups and Downs')       #,frame.plot=T -- try if you like. ?plot.default
# Plot the 'Up' column in green (see ?points)
points(Up~Name,mydf,col='green')
# Plot the 'Down' column in red
points(Down~Name,mydf,col='red')
# ***Draw the x axis, with labels being A-Z 
#  (type in 'LETTERS' to the prompt to see what they are)
# see also ?axis
axis(1,at=1:26,labels=LETTERS)
# Draw the y axis
axis(2)

在此处输入图像描述

根据需要进行调整:?points?par< /code> 和 ?axis 在这方面特别有帮助。

This is probably not the most elegant way to do it, but you can work it all out using with plot, points, and axis (axis is the main one, it explains how you can change the labels on the axis): ?axis, ?plot, ?points.

First make a data frame similar to yours so I can demonstrate...

# make a data frame similar to yours
mydf <- data.frame( Name=LETTERS, 
        Up=sample.int(15,size=26,replace=T), 
        Down=-sample.int(15,size=26,replace=T) )

Now plot.

# set up a plot: x axis goes from 1 to 26,
# y limit goes from -15 to 15 (picked manually, you can work yours out
#   programmatically)
# Disable plotting of axes (axes=FALSE)
# Put in some x and y labels and a plot title (see ?plot...)
plot(0,xlim=c(1,26),ylim=c(-15,15),type='n',
     axes=FALSE,                 # don't draw axis -- we'll put it in later.
     xlab='Name',ylab='Change',  # x and y labels
     main='Ups and Downs')       #,frame.plot=T -- try if you like. ?plot.default
# Plot the 'Up' column in green (see ?points)
points(Up~Name,mydf,col='green')
# Plot the 'Down' column in red
points(Down~Name,mydf,col='red')
# ***Draw the x axis, with labels being A-Z 
#  (type in 'LETTERS' to the prompt to see what they are)
# see also ?axis
axis(1,at=1:26,labels=LETTERS)
# Draw the y axis
axis(2)

enter image description here

Tweak it as you wish: ?points and ?par and ?axis are particularly helpful in this respect.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文