Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何在ggplot2中调整我的箭头方向?_R_Ggplot2 - Fatal编程技术网

R 如何在ggplot2中调整我的箭头方向?

R 如何在ggplot2中调整我的箭头方向?,r,ggplot2,R,Ggplot2,我正在创建一个ggplot图表,希望在两点之间有一些箭头。使用geom_line(arrow=arrow())可以轻松完成主要任务,但正如您所看到的,对于某些观测(德国、法国),箭头并不表示“Previo”到“实际”的正确方向。这是我的代码: Countries = c("Eurozone","Eurozone","France","France","Germany","Germany&

我正在创建一个
ggplot
图表,希望在两点之间有一些箭头。使用
geom_line(arrow=arrow())
可以轻松完成主要任务,但正如您所看到的,对于某些观测(德国、法国),箭头并不表示“Previo”到“实际”的正确方向。这是我的代码:

Countries = c("Eurozone","Eurozone","France","France","Germany","Germany","Japan","Japan","United.Kingdom","United.Kingdom","United.States","United.States")
PMI = c(62.5,63.3,59.3,59.2,66.6,66.4,52.7,53.3,58.9,60.7,59.1,60.6)
Delta1M = c(4.6,0.8,3.2,-0.1,5.9,-0.2,1.3,0.6,3.8,1.8,0.5,1.5)
Mes = c("Previo","Actual","Previo","Actual","Previo","Actual","Previo","Actual","Previo","Actual","Previo","Actual")

t1 <- data.frame(Countries,PMI,Delta1M,Mes)
t1$Mes <- factor(t1$Mes, levels = c("Previo","Actual"))

t1 %>% arrange(Countries) %>% 
  group_by(Countries) %>% 
  ggplot(aes(x = PMI, y = Delta1M, group = Countries))+
  geom_point(aes(color = Countries, alpha = Mes), size = 3)+
  geom_line(arrow = arrow(length=unit(0.15,"cm"), ends="last", type = "closed"))+
  geom_hline(yintercept = 0)+
  geom_vline(xintercept = 50)+
  theme_minimal()+
  scale_alpha_manual(values = c(0.3,1))

Countries=c(“欧元区”、“欧元区”、“法国”、“法国”、“德国”、“德国”、“日本”、“日本”、“英国”、“英国”、“美国”、“美国”)
PMI=c(62.5,63.3,59.3,59.2,66.6,66.4,52.7,53.3,58.9,60.7,59.1,60.6)
Delta1M=c(4.6,0.8,3.2,-0.1,5.9,-0.2,1.3,0.6,3.8,1.8,0.5,1.5)
Mes=c(“Previo”、“Actual”、“Previo”、“Actual”、“Previo”、“Actual”、“Previo”、“Actual”、“Previo”、“Actual”、“Previo”、“Actual”)
t1%
按(国家)划分的组别%>%
ggplot(aes(x=PMI,y=Delta1M,组=国家))+
geom_点(aes(颜色=国家,阿尔法=Mes),尺寸=3)+
几何尺寸线(箭头=箭头(长度=单位(0.15,“cm”),端点=最后一个,类型=闭合)+
geom_hline(yintercept=0)+
几何线(xintercept=50)+
主题_极小值()+
比例α手册(值=c(0.3,1))

通过Mes排序和使用
geom_路径
似乎是可行的,方法是按照排序数据的顺序而不是基于x级数绘制线

t1 %>% arrange(Countries, Mes) %>% 
  ggplot(aes(x = PMI, y = Delta1M, group = Countries))+
  geom_point(aes(color = Countries, alpha = Mes), size = 3)+
  geom_path(arrow = arrow(length=unit(0.15,"cm"), ends="last", type = "closed"))+
  geom_hline(yintercept = 0)+
  geom_vline(xintercept = 50)+
  theme_minimal()+
  scale_alpha_manual(values = c(0.3,1))

谢谢,它真的很管用