在以下代码片段中:
import numpy as np
import pandas as pd
import pandas.rpy.common as com
import matplotlib.pyplot as plt
mtcars = com.load_data("mtcars")
df = mtcars.groupby(["cyl"]).apply(lambda x: pd.Series([x["cyl"].count(), np.mean(x["wt"])], index=["n", "wt"])).reset_index()
plt.plot(df["n"], range(len(df["cyl"])), "o")
plt.yticks(range(len(df["cyl"])), df["cyl"])
plt.show()
此代码输出点图图形,但结果看起来很糟糕,因为 xticks 和 yticks 都没有足够的空间,因此很难同时注意到4
变量在图中输出其值8
。cyl
那么我怎样才能提前有足够的空间来绘制它,就像你可以在 R/ggplot2 中没有任何麻烦一样呢?
供您参考,这两个代码都不适用于我的情况。有人知道原因吗?我是否必须首先费心创建这样的子图?是否无法根据输入值自动调整刻度?