我有以下代码,它仅生成没有行的barplot。如何调整此代码以获取第二行?
library(ggplot2)
p1 <- ggplot()
p1 <- p1 + geom_bar(data=subset(df, Year==2006), aes(x=factor(State),y=Rate), stat = "identity")
p1 <- p1 + xlab("State") + ylab("Rate") + theme(axis.text.x = element_text(angle = 60, hjust = 1))
p1 <- p1 + geom_line(data = subset(df, Year==2006), aes(x=factor(State),y=Total.Poverty/1000),colour = "blue")
p1 <- p1 + scale_y_continuous(sec.axis = sec_axis(~.*1000, name = "Total Poverty"))
print(p1)
我看过ggplot2 overlay of barplot and line plot,但仍然不知道为什么情节没有显示线。
答案 0 :(得分:0)
您应该提供一个最小的数据集来重现您的问题,所以我无法测试我的解决方案,但是我认为这是因为因子刻度上的一条线不起作用,所以您应该使用:
int main()
{
int tab[COTE][COTE] = { 0 };
int compteur = 0,
joueur = 1,
choix;
bool etat=false;
printf("commande : ");
choix = saisieInt();
compteur++;
while ( compteur < 9 || etat != true) {
///position where to place the piece///////////////////////////////
int colonne = choix % 3;
int ligne = choix / 3;
tab[ligne][colonne - 1] = joueur;
///////////////////////////////////////////////
printTab(tab);
///switch between the 2 players///////////////////////////////
if (joueur == 1)
joueur = 2;
else
joueur = 1;
///////////////////////////////////////////////
///check if one has a diagonal line //////////////////////////
if (compteur >= 6) {
int compteurdiag = 0;
for (int i = 0; i < COTE; i++) {
if (tab[i][i] == joueur) {
compteurdiag++;
}
else {
compteurdiag = 0;
}
if (compteurdiag == COTE)
{
etat = true;
}
}
}
///////////////////////////////////////////////
//if (etat == false) {
printf("compteur : %d commande : ", compteur);
choix = saisieInt();
compteur++;
//}
}
printf("compteur : %d termine\n", compteur);
}
void printTab(int t[COTE][COTE]) {
int i, j;
puts("\n|---|---|---|");
for (i = 0; i < COTE; i++) {
for (j = 0; j < COTE; j++) {
printf("|%2d ", t[i][j]);
}
puts("|");
for (j = 0; j < COTE; j++) {
printf("|---");
}
puts("|");
}
}
int saisieInt() {
int valeur, n;
n = scanf("%d", &valeur);
while (n != 1 || valeur > 9) {
printf("Attention, erreur de saisie\nRechoisissez : ");
while (getchar() != '\n');
n = scanf("%d", &valeur);
}
return(valeur);
}
相反。
答案 1 :(得分:0)
必须在代码中添加group = 1
library(ggplot2)
p1 <- ggplot()
p1 <- p1 + geom_bar(data=subset(df, Year==2006), aes(x=factor(State),y=Rate), stat = "identity")
p1 <- p1 + xlab("State") + ylab("Rate") + theme(axis.text.x = element_text(angle = 60, hjust = 1))
p1 <- p1 + geom_line(data = subset(df, Year==2006), aes(x=factor(State),y=Total.Poverty/1000),colour = "blue", group = 1)
p1 <- p1 + scale_y_continuous(sec.axis = sec_axis(~.*1000, name = "Total Poverty"))
print(p1)