条形图:
matplotlib
提供功能bar
并barh
进行垂直和水平条形图。
箱形图:
matplotlib
还提供了boxplot
做垂直箱线图的功能。
但是在 matplotlib 或 Pandas 中有什么方法可以获得水平箱线图吗?
matplotlibboxplot(..., 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()
我从评论(下面)中看到,制作水平箱线图的动机是标签相当长。在这种情况下,另一个选择可能是旋转 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()
vert=False stands # for "no vertical"
使用 by='categorical_feature name' 为每个级别制作框 plt.tight_layout() # 杀死任何重叠的图(并非总是如此) Matplotlib 和 Pandas 非常容易掌握它们,并且可以使用它们制作强大的图。