我有一个类似于以下内容的数据集:
#include "zachos.h"
/*
I'm pretty sure you know what this function is.
*/
int main(int argc, char* argv[]) {
// Seed the random number generator
std::srand(static_cast<unsigned int>(std::time(nullptr)));
// Implement Mainframe for shorthand
using zachos::Mainframe;
// set GLFW error callback function
glfwSetErrorCallback(zachos::errorCallback);
// Run the window initiazation function
int value = Mainframe::init();
if (!value) {
// Return if failed
return value;
}
// Main loop
while (!Mainframe::shouldClose()) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
glfwPollEvents();
// Actually does the hard work
Mainframe::draw();
}
glfwTerminate();
return zachos::SUCCESS;
}
我已经有一个代码(请参阅下文),该代码可以生成带有ax(将我的月份分组的许可类型)和y轴(床位到分配时间的中位数)的图表,但是我想添加第二个Y轴来计算用于计算每个中位数的患者。
例如,我想要一个对应于月份和入院类型的次要Y轴数据点,因此对于Jan,次要Y轴数据点将有2个单独的计数1)接受急性治疗的患者和2)入ICU的患者中。
pt_fin Admit_Type MONTH_YEAR BED_ORDERED_TO_DISPO (minutes)
1 Acute Jan 214
2 Acute Jan 628
3 ICU Jan 300
4 ICU Feb 99
我一直在尝试调整我在这里找到的内容,但是我的代码产生的图太混乱而且不正确。
https://blogs.sas.com/content/iml/2019/01/14/align-y-y2-axes-sgplot.html
所需的输出(分别在X线和*线之间假装与Y轴相对应的线形图):
proc sgplot data=Combined;
title "Median Bed Order To Dispo By Month, Admit Location";
vbar MONTH_YEAR / response=BED_ORDERED_TO_DISPO stat=median
group = Admit_Type groupdisplay=cluster ;
run;
我尝试过产生垃圾的代码
| * |
m | | | X | | #
e | x | | * |
d | | | | | |
|-------------------------------|
Acute ICU Acute ICU
Jan FEb
答案 0 :(得分:1)
您的可视化解释很弱。您可能想在SGPLOT
,VBAR
和VLINE
中使用两个绘图语句。
data have;
do type = 'Acute', 'ICU';
do month = '01jan2018'd to '31dec2018'd;
do _n_ = 1 to floor (50 * ranuni(123));
patid + 1;
minutes = 10 + floor(1000 * ranuni(123));
output;
end;
month = intnx ('month', month, 0, 'e');
end;
end;
format month monname3.;
run;
ods html5 file="plot.html" path="c:\temp";
proc sgplot data=have;
title "Median of patient minutes by month";
vbar month / group=type groupdisplay=cluster response=minutes stat=median;
vline month / group=type groupdisplay=cluster response=minutes stat=freq y2axis ;
run;
ods html5 close;
vline
向观众展示了每个中位数频率的次要焦点。可以仅通过修改vbar强度来传达中位数的相同信息(作为一个方面)。 (中位数的)最高频率条将是“最强”阴影,而较低的“频率”条将被淡化。