在熊猫中组合具有不同范围的多个箱形图?

Ep1c1aN

我有2个数据集,一个代表根区(mm),另一个代表树覆盖率(%)。我能够并排绘制这些数据集(如下所示)。使用的代码是:

    fig = plt.subplots(figsize = (16,7))
    ax = [
        plt.subplot(121),
        plt.subplot(122)]
    classified_data.boxplot(grid=False, rot=90, fontsize=10, ax = ax[0])
    classified_treecover.boxplot(grid=False, rot=90, fontsize=10, ax = ax[1])
    ax[0].set_ylabel('Rootzone Storage Capacity (mm)', fontsize = '12')
    ax[1].set_ylabel('Tree Cover (%)', fontsize = '12')
    ax[0].set_title('Rootzone Storage Capacity (mm)')
    ax[1].set_title('Tree Cover (%)')

在此处输入图片说明

但是我想让它们与Rootzone(在左侧y轴上)和Tree Cover(在右侧y轴上)都处于同一图中,因为它们的范围不同(使用twinx())。但我希望将它们堆叠在一起,以便在x轴上放置一个类(如下所示,树形覆盖物用一个双y轴显示)。有人可以指导我如何用我的代码实现吗?

在此处输入图片说明

迈科拉(Mykola Zotko)

要在同一图中绘制两个具有不同范围的数据集,您需要将所有值转换为相应的z分数(标准化数据)。您可以hueboxplot()函数in中使用参数seaborn来并排绘制两个数据集。考虑以下带有“ mpg”数据集的示例。

   displacement  horsepower origin
0         307.0       130.0    usa
1         350.0       165.0    usa
2         318.0       150.0    usa
3         304.0       150.0    usa
4         302.0       140.0    usa

import seaborn as sns
import matplotlib.pyplot as plt

df = sns.load_dataset('mpg')

df1 = df[['displacement', 'origin']].copy()
df2 = df[['horsepower', 'origin']].copy()

# Convert values to z scores.
df1['z_score'] = df1['displacement'].\
apply(lambda x: (x - df1['displacement'].mean()) / df1['displacement'].std())
df2['z_score'] = df2['horsepower'].\
apply(lambda x: (x - df2['horsepower'].mean()) / df2['horsepower'].std())

df1.drop(['displacement'], axis= 1, inplace=True)
df2.drop(['horsepower'], axis=1, inplace=True)

# Add extra column to use it as the 'hue' parameter.
df1['value'] = 'displacement'
df2['value'] = 'horsepower'

df_cat = pd.concat([df1, df2])

ax = sns.boxplot(x='origin', y='z_score', hue='value', data=df_cat)

plt.yticks([])
ax.set_ylabel('')

# Add the left y axis.
ax1 = ax.twinx()
ax1.set_yticks(np.linspace(df['displacement'].min(), df['displacement'].max(), 5))
ax1.spines['right'].set_position(('axes', -0.2))
ax1.set_ylabel('displacement')

# Add the right y axis.
ax2 = ax.twinx()
ax2.set_yticks(np.linspace(df['horsepower'].min(), df['horsepower'].max(), 5))
ax2.spines['right'].set_position(('axes', 1))
ax2.set_ylabel('horsepower')
plt.show()

数字

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Python绘制具有多个箱形图的图形

来自分类Dev

在MATLAB中创建具有不同数据量的并排箱形图

来自分类Dev

如何在ggplot2中正确绘制多个具有数字x值的箱形图?

来自分类Dev

R中的多个箱形图

来自分类Dev

SAS中的多个箱形图

来自分类Dev

Gnuplot样本中的多个箱形图

来自分类Dev

来自带有条件的融化数据帧的同一层中具有ggplot2的多个箱形图

来自分类Dev

来自带有条件的融化数据帧在同一层中具有ggplot2的多个箱形图

来自分类Dev

R中多个条件的多个箱形图

来自分类Dev

Teechart +多个箱形图

来自分类Dev

有什么办法用ggplot中的计数统计信息注释多个箱形图?

来自分类Dev

R:具有2个或更多系列的箱形图

来自分类Dev

具有数字和分类变量的箱形图

来自分类Dev

MATLAB图形中的多个(平行)箱形图

来自分类Dev

来自未标记矩阵的R中的多个箱形图?

来自分类Dev

从R中的估算数据绘制多个箱形图

来自分类Dev

熊猫groupby箱形图的样式

来自分类Dev

R中带有附加点的箱形图

来自分类Dev

ggplot2-来自不同长度的来源的多个箱形图

来自分类Dev

使用不同长度的数据在同一轴上创建多个箱形图

来自分类Dev

熊猫在不同的列中删除具有相同数据组合的行

来自分类Dev

使用ggplot2绘制的图表具有多个因子和明确定义的标准偏差的漂亮箱形图

来自分类Dev

如何从具有时间戳范围的熊猫对象中获取不同的组

来自分类Dev

具有Highcharts的箱形图-TypeError:“未定义”不是构造函数

来自分类Dev

创建具有相同范围的多个密度图

来自分类Dev

d3中具有不同翻转动作的多个多边形

来自分类Dev

Matlab中箱形图的排序方式

来自分类Dev

使盒子(箱形图)在 r 中连续

来自分类Dev

如何在Python中将具有相同轴的两个箱形图合并为一个箱形图

Related 相关文章

  1. 1

    使用Python绘制具有多个箱形图的图形

  2. 2

    在MATLAB中创建具有不同数据量的并排箱形图

  3. 3

    如何在ggplot2中正确绘制多个具有数字x值的箱形图?

  4. 4

    R中的多个箱形图

  5. 5

    SAS中的多个箱形图

  6. 6

    Gnuplot样本中的多个箱形图

  7. 7

    来自带有条件的融化数据帧的同一层中具有ggplot2的多个箱形图

  8. 8

    来自带有条件的融化数据帧在同一层中具有ggplot2的多个箱形图

  9. 9

    R中多个条件的多个箱形图

  10. 10

    Teechart +多个箱形图

  11. 11

    有什么办法用ggplot中的计数统计信息注释多个箱形图?

  12. 12

    R:具有2个或更多系列的箱形图

  13. 13

    具有数字和分类变量的箱形图

  14. 14

    MATLAB图形中的多个(平行)箱形图

  15. 15

    来自未标记矩阵的R中的多个箱形图?

  16. 16

    从R中的估算数据绘制多个箱形图

  17. 17

    熊猫groupby箱形图的样式

  18. 18

    R中带有附加点的箱形图

  19. 19

    ggplot2-来自不同长度的来源的多个箱形图

  20. 20

    使用不同长度的数据在同一轴上创建多个箱形图

  21. 21

    熊猫在不同的列中删除具有相同数据组合的行

  22. 22

    使用ggplot2绘制的图表具有多个因子和明确定义的标准偏差的漂亮箱形图

  23. 23

    如何从具有时间戳范围的熊猫对象中获取不同的组

  24. 24

    具有Highcharts的箱形图-TypeError:“未定义”不是构造函数

  25. 25

    创建具有相同范围的多个密度图

  26. 26

    d3中具有不同翻转动作的多个多边形

  27. 27

    Matlab中箱形图的排序方式

  28. 28

    使盒子(箱形图)在 r 中连续

  29. 29

    如何在Python中将具有相同轴的两个箱形图合并为一个箱形图

热门标签

归档