小编otw*_*wtm的帖子

ggplot2 - 创建相对于总样本量的堆积密度图

假设我们有两组不同样本量的“a”和“b”。

n = 10000
set.seed(123)
dist1 = round(rnorm(n, mean = 1, sd=0.5), digits = 1)
dist2 = round(rnorm(n/10, mean = 2, sd = 0.2), digits = 1)
df = data.frame(group=c(rep("a", n), rep("b", n/10)), value=c(dist1,dist2))
Run Code Online (Sandbox Code Playgroud)

我想将以下堆积条形图转换为堆积密度图。

library(ggplot2)
ggplot(data=df, aes(x=value, y=(..count..)/sum(..count..), fill=group)) +
  geom_bar()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我知道有一个position="stack"密度图选项。然而,结果如下所示,因为密度的高度是相对于组样本大小,而不是总样本大小。因此,在某种程度上,这个小群体的代表性过高。

ggplot(data=df, aes(x=value, fill=group)) +
  geom_density(position="stack")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有没有办法创建与上面的条形图相对应的密度图?

r ggplot2 density-plot

5
推荐指数
1
解决办法
1457
查看次数

从 ggsurvplot 中的图例中删除变量名称

有没有一种简洁的方法来删除创建的图例中的变量名称ggsurvplot?例子:

library(survival)
library(survminer)

set.seed(123)
df=data.frame(gender=c(rep("male", 10), rep("female", 10)), value=c(rnorm(10,mean = 2), rnorm(10,mean = 3)))
fit = surv_fit(Surv(value) ~ gender, data = df)
p = ggsurvplot(fit, data = df,  surv.median.line = "none") 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想要的是从图例中删除“性别”一词,如下图所示。我可以通过手动设置图例标签来实现此目的:

p = ggsurvplot(fit, data = df,  surv.median.line = "none", legend.labs = c("male", "female")) 
Run Code Online (Sandbox Code Playgroud)

但还有更好的办法吗?

编辑:当我手动分配性别时(2.情节),我不小心交换了男性和女性,这表明这种方法是多么危险。

在此输入图像描述

r ggplot2 survminer

5
推荐指数
2
解决办法
3878
查看次数

如何验证 WTForms 中的 DateField

在我的烧瓶应用程序中,我有一个带有两个日期选择器的 WTForm,用于“开始日期”和“结束日期”。验证“结束日期”不早于“开始日期”的最佳方法是什么?

from flask_wtf import FlaskForm
from wtforms.fields.html5 import DateField
from wtforms import SubmitField 

class Form(FlaskForm):
    startdate_field = DateField('Start Date', format='%Y-%m-%d')
    enddate_field = DateField('End Date', format='%Y-%m-%d')
    submit_field = SubmitField('Simulate')
Run Code Online (Sandbox Code Playgroud)

我在这个主题上唯一发现的是这个验证器:

 wtforms_html5.DateRange
Run Code Online (Sandbox Code Playgroud)

在这里找到:https : //pypi.org/project/wtforms-html5/0.1.3/ 但它似乎是 wtforms-html5 的旧版本。

python flask wtforms

4
推荐指数
1
解决办法
4058
查看次数

Plotly-Express:如何在按列名设置颜色时修复颜色映射

plotly express用于散点图。标记的颜色由我的数据框的变量定义,如下例所示。

import pandas as pd
import numpy as np
import plotly.express as px

df = px.data.iris()

fig = px.scatter(df[df.species.isin(['virginica', 'setosa'])], x="sepal_width", y="sepal_length", color="species")
fig.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

当我添加此变量的另一个实例时,颜色映射会发生变化(首先,'virginica',是红色,然后是绿色)。

fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",size='petal_length', hover_data=['petal_width'])
fig.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

添加变量时如何保持颜色的映射?

python plotly plotly-express

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

ggplot2 ×2

python ×2

r ×2

density-plot ×1

flask ×1

plotly ×1

plotly-express ×1

survminer ×1

wtforms ×1