我有一只熊猫。DataFrame我想基于两列绘制一个图表:Age
(int)、Surved
(int-0
或1
)。现在我有这样的东西:
这是我使用的代码:
class DataAnalyzer:
def _facet_grid(self, func, x: List[str], col: str = None, row: str = None) -> None:
g = sns.FacetGrid(self.train_data, col=col, row=row)
if func == sns.barplot:
g.map(func, *x, ci=None)
else:
g.map(func, *x)
g.add_legend()
plt.show()
def analyze(self) -> None:
# Check if survival rate is connected with Age
self._facet_grid(plt.hist, col='Survived', x=['Age'])
这是两个子图。这很好,但是很难看出在特定的年龄范围内,在幸存的列中有0
和1
的记录量之间的差异。
所以我想要这样的东西:
在这个场景中,您可以看到这种差异。有什么方法可以在seaborn
(因为在那里我可以轻松地操作pandas.DataFrame
)?如果可能的话,我不想使用香草matplotlib
从seaborn 0.11开始。0,您可以这样做
# stacked histogram
import matplotlib.pyplot as plt
f = plt.figure(figsize=(7,5))
ax = f.add_subplot(1,1,1)
# mock your data frame
import pandas as pd
import numpy as np
_df = pd.DataFrame({
"age":np.random.normal(30,30,1000),
"survived":np.random.randint(0,2,1000)
})
# plot
import seaborn as sns
sns.histplot(data=_df, ax=ax, stat="count", multiple="stack",
x="age", kde=False,
palette="pastel", hue="survived",
element="bars", legend=True)
ax.set_title("Seaborn Stacked Histogram")
ax.set_xlabel("Age")
ax.set_ylabel("Count")
只需将总直方图与幸存的-0直方图叠加即可。如果没有数据帧的精确形式,很难给出精确的函数,但这里有一个基本示例,其中一个是seaborn示例数据集。
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset("tips")
sns.distplot(tips.total_bill, color="gold", kde=False, hist_kws={"alpha": 1})
sns.distplot(tips[tips.sex == "Female"].total_bill, color="blue", kde=False, hist_kws={"alpha":1})
plt.show()
我有以下不同月份的数据 一月:[1,5,3] Feb:[10,5] 三月:[4,8] 四月:[7] 可能:[3,1,5,0,7] 我想生成如下所示的条形图 现在,我有以下代码,我想知道如何生成如上图所示的条形图。 }); 非常感谢。
Highcharts 条形图 以下实例演示了堆叠条形图。 我们在前面的章节已经了解了 Highcharts 基本配置语法。接下来让我们来看下其他的配置。 配置 plotOptions 配置图表堆叠使用 plotOptions.series.stacking,并设置为 "normal"。如果禁用堆叠可设置为 null , "normal" 通过值设置堆叠, "percent" 堆叠则按百分比。 v
我需要一张这样的图表: 我找到了这个示例,但它使用了旧版本的。我尝试使用v2.0,但我不明白。 有人能贴个例子吗?
我一直在寻找一种使用Chartjs绘制此图的方法,但没有成功。这在Chartjs中可能吗? 我想画的图表 我尝试的图表 以下是我的设置: 我知道如何设置堆叠条形图,只是不知道如何设置图像中的图例。任何帮助都很感激。提前感谢!
问题内容: 我使用以下代码处理了一个简单的3d条形图: 认为这只是一个测试,到目前为止,一切似乎都还很清楚。我只是想知道如何以堆叠的方式绘制这9个条形图的每一个,以便例如将每个条形图分成4个部分,组成整个条形图。 基本上,我想以此处的示例方式执行此操作。 但是,我希望有2个堆栈,而不是2个堆栈。有什么想法可以从我现在的角度出发吗?每个提示将不胜感激。 谢谢! 编辑:如果我想实现每个堆叠的酒吧给定的
我想知道这是否可以在Datadog中实现。我有一个在1个度量-现在数据通过多个标记发布到Datadog,例如,,可能还有10个不同的标签。 我试图在仪表板中创建Datadog图表,它将在堆叠条形图中显示实体计数的前5个标记。我知道添加更多查询的选项,但由于我不确定将来会有哪些实体可用,我希望datadog总是在仪表板中动态显示前5个实体(而不是在查询中指定要显示的标记)。这就是我目前拥有的(它完成