python散点图标签抖动_python – 没有正确绘制带有Pandas的散点图中的刻度标签

这是预期的行为. y轴值显示第0列的y轴值.第0行,第0列包含概率密度图.第0行,第1至第3列包含用于在对角线上创建图形的数据.

Pandas Plotting文档中的example看起来很相似.

示范:

from pandas.tools.plotting import scatter_matrix

import pylab

import numpy as np

import pandas as pd

def create_scatterplot_matix(X, name):

pylab.figure()

df = pd.DataFrame(X)

axs = scatter_matrix(df, alpha=0.2, diagonal='kde')

pylab.savefig(name + ".png")

create_scatterplot_matix([[0,0,0,0]

,[1,1,1,1]

,[1,1,1,1]

,[2,2,2,2]],'test')

在这个示例代码中,我使用了一个非常简单的数据集来进行演示.我还删除了设置y和x刻度的代码部分.

这是结果图:

在每个对角线中是概率密度图.在每个非对角线中是用于在对角线中创建图形的数据.第0行的y轴表示位于第0位的概率密度图的y轴.第1行,第2行和第3行的y轴表示用于在对角线上创建概率密度图的0,1 0,2和0,3位置的数据的y轴.

您可以在我们的示例中看到以下绘制点:[0,0] [1,1] [2,2]. [1,1]处的点较暗,因为此位置的点数多于其他点.

发生的事情是你的数据集,所有的值都在0到1之间,这就是为什么0.5在两个轴上完全显示在行/列的中心.然而,数据严重偏向0值,这就是为什么概率密度图会越接近0,第0行中概率密度图的最大值看起来像是(眼球测试)大约8. -10.

我个人会做的是将你的左边界代码编辑成如下:

autoscale = True # We want the 0,0th item's y-axis to autoscale

for ax in axs[:,0]: # the left boundary

ax.grid('off', axis='both')

if autoscale == True:

ax.set_autoscale_on(True)

autoscale = False

else:

ax.set_yticks([0, 0.5])

对于我们的示例数据集,使用此技术会生成如下图表:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值