Ame*_*ina 21 python matplotlib pandas
matplotlib提供功能bar并barh做垂直和水平条形图.
matplotlib还提供了功能boxplot做垂直箱线图.
但在matplotlib或Pandas中有没有办法得到一个水平的盒子图?
unu*_*tbu 47
matplotlib boxplot(..., vert=False)制作横向框图.关键字参数vert=False也可以传递给DataFrame.boxplot:
import matplotlib.pyplot as plt
import pandas as pd
x = [[1.2, 2.3, 3.0, 4.5],
[1.1, 2.2, 2.9, 5.0]]
df = pd.DataFrame(x, index=['Age of pregnant women', 'Age of pregnant men'])
df.T.boxplot(vert=False)
plt.subplots_adjust(left=0.25)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我从评论(下面)看到制作横向盒子图的动机是标签相当长.在这种情况下的另一个选择可能是旋转xticklabels:
import matplotlib.pyplot as plt
import pandas as pd
x = [[1.2, 2.3, 3.0, 4.5],
[1.1, 2.2, 2.9, 5.0]]
df = pd.DataFrame(x, index=['Age of pregnant women', 'Age of pregnant men'])
df.T.boxplot()
plt.subplots_adjust(bottom=0.25)
plt.xticks(rotation=25)
plt.show()
Run Code Online (Sandbox Code Playgroud)

小智 9
vert=False stands # for "no vertical"
Run Code Online (Sandbox Code Playgroud)
使用 by='categorical_feature name' 为每个级别制作框 plt.tight_layout() # 杀死任何重叠图(并非总是如此) 当您掌握 Matplotlib 和 Pandas 时,它们真的很容易,您可以使用它们绘制强大的图。