我正在尝试使用Python绘制散射矩阵,但左上角的y轴上的刻度具有大量不必要的数字。我正在使用pandas.plotting中的scatter_matrix函数直接从pandas绘制图形
另外,我对Python很新,很抱歉,如果这是一个愚蠢的问题,但我找不到合适的答案来满足我的需求。
我尝试使用yaxis.set_major_formatter使用不同的轴格式化选项(不确定这是否无效,因为我正在从熊猫绘图,但无论如何都没有结果),pandas.set_option来自定义显示。
from pandas.plotting import scatter_matrix
scatter_matrix(df, alpha=0.3, figsize=(9,9), diagonal='kde')
df: Tesla Ret Ford Ret GM Ret
Date
2012-01-03 NaN NaN NaN
2012-01-04 -0.013177 0.015274 0.004751
2012-01-05 -0.021292 0.025664 0.048227
2012-01-06 -0.008481 0.010354 0.033829
2012-01-09 0.013388 0.007686 -0.003490
2012-01-10 0.013578 0.000000 0.017513
2012-01-11 0.022085 0.022881 0.052926
2012-01-12 0.000708 0.005800 0.008173
2012-01-13 -0.193274 -0.008237 -0.015403
2012-01-17 0.167179 -0.001661 -0.003705
...
我试图使用: plt.gca().yaxis.set_major_formatter(StrMethodFormatter('{x:,.2f}'))并ax.yaxis.set_major_formatter(FormatStrFormatter('%.2f'))在导入相应的modulesm后,无济于事。
图可在此处获得
图中的其他所有内容都应该如此,只是左上图的y轴。我希望它显示一个或两个小数点值,如图的其余部分。
解决办法:新的解决方案是获取该特定轴的显示刻度并将其格式化为最多2位小数。
new_labels = [round(float(i.get_text()), 2) for i in axes[0,0].get_yticklabels()]
axes[0,0].set_yticklabels(new_labels)








暂无数据