如何解决Ggplot2中带有两个变量的两个直方图
这是我的DF:
<SM>:
ProjectsPage:
<ProjectCard@MDGridLayout>
size_hint_y:None
height: '250sp'
md_bg_color: 0,1,.5
cols: 1
<ProjectsPage>:
cards_grid:cards_grid
BoxLayout:
padding: '25sp','25sp','25sp'
orientation: 'vertical'
ScrollView:
size_hint_y:.9
do_scroll_x:False
do_scroll_y:True
GridLayout:
id: cards_grid
spacing: '25sp'
size_hint_y:None
height: self.minimum_height
cols: 2
Card:
Card:
Button:
size_hint_y:.1
text: 'Add New Card'
on_release: root.add_card()
<Card>:
orientation: 'vertical'
size_hint_y:None
height: '250sp'
md_bg_color: 0,.5
MDToolbar:
right_action_items: [["dots-vertical",lambda x: print(x)]]
title: "Title"
size_hint_y:0.3
MDLabel:
size_hint_y:0.1
valign:"bottom"
text:"mm:hh dd:mm:yy AM"
MDLabel:
size_hint_y:0.3
multiline: True
text:"john wick,richie rich,courage,garelt"
valign:"top"
adaptive_height: True
GridLayout:
rows:1
cols:2
size_hint_y:0.3
MDLabel:
text:"Status: " + "working"
MDIconButton:
icon:"details"
adaptive_height: True
其中test_label是测试值,“ xgb_1”是具有预测值的列,而id_items是项目。 我想绘制一个图表,其中可以并排看到一些ID_items的预测值与真实值。 有超过100个,因此我只需要一个子图即可(否则将一团糟)。 让我知道!
P.S。最好的办法是将test_label和xgb1转换为行,并添加一个虚拟变量“ Predicted / True value”,但我不知道该怎么做。
解决方法
我建议使用这种方法,先重塑数据,然后绘制。拥有更多数据,它将看起来更好:
for(int i = 0;
f(i); // This check is guaranteed to pass when i is 0,// and the check is expensive
++i)
{
// body
}
代码:
do-while
输出:
,这是使用geom_errorbar
的另一种方法。也许颜色的东西有点太多,但是今天是个雨天……所以需要一些变化
"%>%" <- magrittr::"%>%"
dat <- dplyr::tibble(id_item=c(69,9,31,25,76,48),test_label=c(2,5,4,12,2),xgb_1=c(2,8,6,21,2,4))
dat %>%
dplyr::mutate(diff=abs(test_label-xgb_1)) %>%
ggplot2::ggplot(ggplot2::aes(x=id_item,ymin=test_label,ymax=xgb_1,color=diff)) +
ggplot2::geom_errorbar()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。