我有一个具有12个值的条形图。使用此代码,除了x轴标签外,我还可以获得所需的图。
p <- ggplot(data=df.mean, aes(x=stock_name, y=invest_amnt, fill=trend_id)) +
geom_bar(stat="identity", position=position_dodge()) +
geom_errorbar(aes(ymin=invest_amnt-ic, ymax=invest_amnt+ic), width=.2,
position=position_dodge(.9))
p + scale_fill_brewer(palette="Paired") + theme_minimal() +
theme(text = element_text(size=12, hjust = 0.5, family="Times")) +
theme_stata() + scale_color_stata()
我不想自己在x轴上显示所有12个值,而是要自己确定标签,只显示4个。
我调整了这样的代码
p <- ggplot(data=df.mean, aes(x=stock_name, y=invest_amnt, fill=trend_id)) +
geom_bar(stat="identity", position=position_dodge()) +
geom_errorbar(aes(ymin=invest_amnt-ic, ymax=invest_amnt+ic), width=.2,
position=position_dodge(.9)) +
scale_x_discrete( labels=c("UP\nDOWN", "DOWN\nUP", "STRAIGHT\nGAIN", "STRAIGHT\nLOSS")) +
scale_fill_discrete(name = "Trend", labels = c("negative", "flat", "positive"))
p + scale_fill_brewer(palette="Paired") + theme_minimal() +
theme(text = element_text(size=12, hjust = 0.5, family="Times")) +
theme_stata() + scale_color_stata()
不幸的是,我得到了4个标签,但还有8个NA。我希望我的4个标签均匀地分布在我的x轴上。由于标签是因素,因此我不知道如何在此处应用break
。
答案 0 :(得分:0)
我已经生成了一些示例数据...希望我正确理解了这种情况。 这似乎可行,即使用指定的标签在小节上的指定位置插入中断点。
pip install tornado