2 つのグループを持つ棒グラフがあります。ここで、y 軸 = 稼いだドル & x 軸の幅 = 販売されたユニット数です。以下のサンプルデータ:
test<- structure(list(Person = c("Bob", "Bob", "Bob", "Bob", "Bob",
"Jim", "Jim", "Jim", "Jim", "Jim"), Car = c("Wombat", "Beetle",
"Impala", "Carrera", "Sienna", "Wombat", "Beetle", "Impala",
"Carrera", "Sienna"), tot = c(75090, 229994, 1229347, 247052,
1148873, 41114, 2430, 430423, 629812, 30442), freq = c(5L, 620L,
1324L, 219L, 550L, 36L, 1L, 213L, 195L, 2L)), .Names = c("Person",
"Car", "tot", "freq"), row.names = c(NA, 10L), class = "data.frame")
# Print bar chart.
ggplot()+
geom_bar(data=test,aes(x=reorder(Car,tot,function(x) -sum(x)),
y=as.numeric(tot)/1000,width=freq/1000,fill=Person),
stat='identity',position='identity')
このチャートに対して次の 2 つのことを行いたいのですが、障害があります。
A) 車のカテゴリごとに、人物を上下に配置するのではなく、並べて配置します。ggplot はposition = 'dodge'
、さまざまな長さの幅には対応できないと言っています。
B) 車カテゴリ間の間隔は、幅が最も広いバーに基づいて設定されているようです。その間隔を次のように変化させることは可能width * .05
ですか? たとえば、Sienna
、Carrera
、 &の間のスペースを狭くしたいBeetle
。