我尝试使用ggplot2
:
ggplot(Trump_df, aes(x=freq.dif, y=Spacing)) +
geom_text(aes(size=TrumpT.txt, label=row.names(Trump_df),
colour=freq.dif), alpha=0.7, family="Arial") +
geom_text(data=Kasich_df, aes(x=freq.dif, y=Spacing,
label=row.names(Kasich_df), size=KasichT.txt, color=freq.dif),
alpha=0.7, family="Arial") +
geom_text(data=both_df, aes(x=freq.dif, y=Spacing,
label=row.names(both_df), size=TrumpT.txt, color=freq.dif),
alpha=0.7, family="Arial") +
scale_size(range=c(3,11)) +
scale_colour_gradient(low="red3", high="blue3", guide="none") +
scale_x_continuous(breaks=c(min(Kasich_df$freq.dif), 0, max(Trump_df$freq.dif)),
labels=c("Twitted More by Kasich","Twitted Equally","Twitted More by Trump")) +
scale_y_continuous(breaks=c(0), labels=c("")) +
labs(title="Conway's Word Cloud, Tweets (Trump -vs- Kasich)", x="", y="", size="Word Frequency") +
theme_bw() +
theme(panel.grid.major.y = element_line(),
panel.grid.minor.x = element_line(),
plot.title = element_text(family="Arial", size=18)
但是获得一个堆积轴标签的情节:
以下是我的数据框:
dput(DF)
>dput(df)
structure(list(TrumpT.txt = c(25, 34, 8, 3, 11, 4, 3, 4, 4, 16,
4, 8, 21, 16, 3, 21, 3, 10, 9, 11, 4, 6, 3, 4, 3, 6, 4, 3, 5,
55), KasichT.txt = c(6, 5, 3, 4, 3, 4, 6, 3, 4, 7, 29, 3, 3,
5, 4, 4, 3, 6, 22, 3, 3, 4, 3, 3, 3, 6, 5, 4, 6, 4), freq.dif = c(19,
29, 5, -1, 8, 0, -3, 1, 0, 9, -25, 5, 18, 11, -1, 17, 0, 4, -13,
8, 1, 2, 0, 1, 0, 0, -1, -1, -1, 51)), .Names = c("TrumpT.txt",
"KasichT.txt", "freq.dif"), row.names = c("america", "amp", "back",
"best", "can", "candidate", "check", "day", "done", "gopdebate",
"john", "join", "just", "make", "nation", "new", "next", "now",
"ohio", "one", "see", "state", "talk", "tax", "thanks", "time",
"today", "voting", "watch", "will"), class = "data.frame")
dput(DF $ freq.dif)
>dput(df$freq.dif)
c(19, 29, 5, -1, 8, 0, -3, 1, 0, 9, -25, 5, 18, 11, -1, 17, 0,
4, -13, 8, 1, 2, 0, 1, 0, 0, -1, -1, -1, 51)
dput(Trump_df)
>dput(Trump_df)
structure(list(TrumpT.txt = c(3, 3, 4, 3, 9, 4, 3, 5), KasichT.txt = c(4,
6, 29, 4, 22, 5, 4, 6), freq.dif = c(-1, -3, -25, -1, -13, -1,
-1, -1), Spacing = c(-0.4, 0.0249155652709305, -0.184168514423072,
-0.2, 0.0361329583451152, 0, 0.2, 0.4)), .Names = c("TrumpT.txt",
"KasichT.txt", "freq.dif", "Spacing"), row.names = c("best",
"check", "john", "nation", "ohio", "today", "voting", "watch"
), class = "data.frame")
dput(Kasich_df)
>dput(Kasich_df)
structure(list(TrumpT.txt = c(25, 34, 8, 11, 4, 16, 8, 21, 16,
21, 10, 11, 4, 6, 4, 55), KasichT.txt = c(6, 5, 3, 3, 3, 7, 3,
3, 5, 4, 6, 3, 3, 4, 3, 4), freq.dif = c(19, 29, 5, 8, 1, 9,
5, 18, 11, 17, 4, 8, 1, 2, 1, 51), Spacing = c(-0.171893353201449,
0.113299035839736, -0.5, -0.5, -0.333333333333333, 0.0629540653899312,
0.5, -0.161544232908636, 0.166435130592436, 0.193869082257152,
0.0795861765742302, 0.5, 0, -0.139369543548673, 0.333333333333333,
0.117351376824081)), .Names = c("TrumpT.txt", "KasichT.txt",
"freq.dif", "Spacing"), row.names = c("america", "amp", "back",
"can", "day", "gopdebate", "join", "just", "make", "new", "now",
"one", "see", "state", "tax", "will"), class = "data.frame")
dput(both_df)
>dput(both_df)
structure(list(TrumpT.txt = c(4, 4, 3, 3, 3, 6), KasichT.txt = c(4,
4, 3, 3, 3, 6), freq.dif = c(0, 0, 0, 0, 0, 0), Spacing = c(-0.833333333333333,
-0.5, -0.166666666666667, 0.166666666666667, 0.5, 0.833333333333333)), .Names = c("TrumpT.txt", "KasichT.txt", "freq.dif", "Spacing"),
row.names = c("candidate", "done", "next", "talk", "thanks",
"time"), class = "data.frame")
我想在最左边的“卡西奇转弯”,中间的“Twitted Equally”和最右边的“Twitted More by Trump”。我已经尝试搞乱了规模,但我正在做的事似乎不起作用。我很感激任何帮助。