热线电话:13121318867

登录
2019-02-17 阅读量: 920
Scatter Matrix在图形上显示太多浮点值

我正在尝试使用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)

0.0000
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子