Python 使用matplotlib修改scipy stats.probplot绘图函数
我不是matplotlib的专家,所以我很难设置scipy统计数据的参数 我的代码获取一个df列,遍历这些列,并尝试使用stats.probplot函数绘制列的值。这是我的代码:Python 使用matplotlib修改scipy stats.probplot绘图函数,python,pandas,matplotlib,scipy,Python,Pandas,Matplotlib,Scipy,我不是matplotlib的专家,所以我很难设置scipy统计数据的参数 我的代码获取一个df列,遍历这些列,并尝试使用stats.probplot函数绘制列的值。这是我的代码: plt.figure(figsize=(10,5)) for col in model_predictions.columns: res = stats.probplot(df[col]), plot=plt) plt.legend = col plt.show() 这会生成我想要的图表,但很难阅读(
plt.figure(figsize=(10,5))
for col in model_predictions.columns:
res = stats.probplot(df[col]), plot=plt)
plt.legend = col
plt.show()
这会生成我想要的图表,但很难阅读(没有图例,颜色相同)。除了将它们绘制在彼此的顶部之外,我还想以不同的颜色绘制每一行,并为每一行添加一个与列中str相等的图例。有没有办法做到这一点
我总是可以获取函数的元组输出,通过另一个新的def运行它,并将输出添加到一个新的df中(以便以后使用更多控件进行绘图);但我想知道是否有更快的方法
谢谢您可以通过获取
stats.probplot
的输出来手动绘制它们,即:
from scipy.stats import probplot
for col in model_predictions.columns
plt.plot(*stats.probplot(df[col])[0], label=col)
plt.legend(loc='best')
plt.show()
您可以通过获取
stats.probplot
的输出来手动绘制它们,即:
from scipy.stats import probplot
for col in model_predictions.columns
plt.plot(*stats.probplot(df[col])[0], label=col)
plt.legend(loc='best')
plt.show()
在循环外部创建一个图形和轴,并传入轴作为
绘图的参数,应将它们全部放在同一个轴上。文档中的示例实际演示了如何使用不同的子绘图。谢谢。我知道如何使用不同的子地块。我不想要不同的子图,但都在同一个绘图中。将plt.show
放在环井外,是的,使用单个子图有什么区别,或多个子地块?在循环外部创建一个图形和轴,并传入轴,因为绘图的参数应使它们都位于同一个轴上。文档中的示例实际演示了如何使用不同的子地块。谢谢。我知道如何使用不同的子地块。我不想要不同的子图,但都在同一个绘图中。将plt.show
放在环井之外,是的,使用单个子图或多个子图有什么区别?这一个几乎可以工作:plt.legend(loc='best')显示“TypeError:'str'object is not callable”修复了它。谢谢@mstainoth这一个几乎可以工作:plt.legend(loc='best')显示“TypeError:'str'对象不可调用”修复了它。谢谢你@Mstaino