我现在认为对于散点图,您可以编写类似
的内容<?xml version="1.0" encoding="UTF-8"?>
<Context allowCasualMultipartParsing="true">
</Context>
假设df.iplot(kind='scatter', x='myX',y='myY',categories='myGroup')
是包含这些变量的数据框。
但是,如果我改为
df
它将以散点图结束。是否在框图中不支持df.iplot(kind='box', x='myX',y='myY',categories='myGroup')
设置,或者我错过了什么?
答案 0 :(得分:0)
我也在寻找那个解决方案,但找不到任何帮助。但我能找到一个黑客;例如,在来自kaggle的流行泰坦尼克数据集的情况下。乘客班的年龄框图:
import cufflinks as cf
cf.go_offline()
box_age = train[['Pclass', 'Age']]
box_age.pivot(columns='Pclass', values='Age').iplot(kind='box')
您可以一步完成但两步(或通过将数据透视表存储在对象中三步),步骤代码看起来很干净。所以第二步我转动数据。因此,每行将有1个非null 值。 iplot可以处理空值。我用seaborn和iplot测试了给我相同的答案。所以它可靠。如果你想尝试两者。这是seaborn代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
plt.figure(figsize=(12, 7))
sns.boxplot(x='Pclass', y='Age', data=train, palette='winter')
注意:我正在使用Jupyter Notebook,这就是%matplotlib inline
答案 1 :(得分:0)
您可以使用数据透视表来解决您的问题
train[['Pclass', 'Age']].pivot(columns='Pclass', values='Age').iplot(kind='box')
上面的代码将首先创建一个数据透视表,并为表中存在的每一列构建一个箱线图