用不同的x轴绘图

时间:2014-11-12 12:36:06

标签: r plot ggplot2

我有以下数据:

data  
 Tenor Coupon   Price  Last 1 Month 1 Year     Time
1  3 Month 0.0000  0.0150 0.02%      +1     -4 06:45:02
2  6 Month 0.0000  0.0550 0.06%      +2     -3 06:22:02
3 12 Month 0.0000  0.0950 0.10%      +2     -1 06:50:35
4   2 Year 0.3750  99-22¾ 0.52%     +10    +20 06:37:41
5   5 Year 1.5000  99-14½ 1.62%      +9    +17 06:37:58
6  10 Year 2.3750  100-12 2.33%      +6    -44 06:40:21
7  30 Year 3.1250 101-10½ 3.06%      +5    -80 06:35:23

我已经借助此thistopic网站下载了它。 现在我想将它绘制成类似于上面网站的数据。我用过:

my_x <- c(3,6,12,24,12*5,10*12,30*12)
plot(my_x,data$Coupon, type = "l")

但它看起来并不好看,因为x轴的值,但我不知道如何将第一列转换为所需的格式。我曾尝试使用ggplot2,但我也失败了 它也许有帮助:

str(data)
'data.frame':   7 obs. of  7 variables:
 $ Tenor  : Factor w/ 7 levels "10 Year","12 Month",..: 5 7 2 3 6 1 4
 $ Coupon : Factor w/ 5 levels "0.0000","0.3750",..: 1 1 1 2 3 4 5
 $ Price  : Factor w/ 7 levels "0.0150","0.0550",..: 1 2 3 7 6 4 5
 $ Last   : Factor w/ 7 levels "0.02%","0.06%",..: 1 2 3 4 5 6 7
 $ 1 Month: Factor w/ 6 levels "+1","+10","+2",..: 1 3 3 2 6 5 4
 $ 1 Year : Factor w/ 7 levels "-1","+17","+20",..: 5 4 1 3 2 6 7
 $ Time   : Factor w/ 7 levels "06:22:02","06:35:23",..: 6 1 7 3 4 5 2

1 个答案:

答案 0 :(得分:0)

str(数据)显示您的数据属于因子类。但它们应该是数字的。因此,您需要将数据从因子转换为数字。

data$Coupon <- as.numeric(as.character(data$Coupon))

之后,情节应该有效。