楼主: 2017110138
744 6

[问答] R语言绘制柱状图的问题 [推广有奖]

  • 5关注
  • 0粉丝

教授

69%

还不是VIP/贵宾

-

威望
0
论坛币
1860 个
通用积分
7.1692
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
19195 点
帖子
725
精华
0
在线时间
345 小时
注册时间
2018-10-12
最后登录
2025-4-2

楼主
2017110138 发表于 2022-12-9 11:19:00 |AI写论文
100论坛币
在R语言ggplot绘图柱状图遇到一个问题,就是如何让X轴的基线从-20开始,并且让负值都在X轴的上方?即让所有的柱状图都朝上。请求各位的帮助,谢谢。


Rplot2.png

Rplot.png (7.29 KB)

Rplot.png

最佳答案

zhjx19 查看完整内容

加个手动变换就行了:
关键词:R语言 柱状图 ggplot绘图 gplot plot

沙发
zhjx19 发表于 2022-12-9 11:19:01
加个手动变换就行了:

  1. library(tidyverse)
  2. df = tibble(
  3.   x = 1:5,
  4.   n = c(-15,20,18,9,-7))

  5. df %>%
  6.   ggplot(aes(x, n + 20)) +
  7.   geom_col() +
  8.   scale_y_continuous(breaks = seq(0,40,10),  labels = as.character(seq(0,40,10)-20)) +
复制代码

d7d24001-add4-4d5f-910c-e6bf53ff83bf.png (7.75 KB)

d7d24001-add4-4d5f-910c-e6bf53ff83bf.png

已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
2017110138 + 5 + 4 + 4 + 4 精彩帖子
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 15  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

藤椅
llb_321 在职认证  发表于 2022-12-9 16:47:05
ggplot2中不存在基线,你仔细看就知道,绘图区下方才是x轴,而y=0这条线是不存在的。
不过你可能想明确绘出坐标轴,如图: Rplot.png

可以参考下面的代码:
  1. d <- data.frame(x = 1:5, y = c(-20,-5,17,3,15))
  2. ggplot(d) + aes(x, y) + geom_col(fill="blue") +
  3.   geom_hline(yintercept = -20) +
  4.   geom_vline(xintercept = 0) +
  5.   theme_minimal()
复制代码



已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
2017110138 + 5 + 4 + 4 + 4 精彩帖子
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 15  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

板凳
2017110138 发表于 2022-12-12 10:03:49
zhjx19 发表于 2022-12-9 11:19
加个手动变换就行了:
非常感谢您的方法,我实验了,有效。

报纸
2017110138 发表于 2022-12-12 10:04:28
llb_321 发表于 2022-12-9 16:47
ggplot2中不存在基线,你仔细看就知道,绘图区下方才是x轴,而y=0这条线是不存在的。
不过你可能想明确绘出 ...
感谢您的耐心解答,非常感谢。

地板
llb_321 在职认证  发表于 2022-12-14 14:46:07
2017110138 发表于 2022-12-12 10:04
感谢您的耐心解答,非常感谢。
不客气,多说一句啊,你准备用的是一种会令人误解的图示,柱状图不是这么用的。建议采用折线图。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-4 03:24