为了账号安全,请及时绑定邮箱和手机立即绑定

在直方图矩阵 jupyter 上展开数据

在直方图矩阵 jupyter 上展开数据

撒科打诨 2022-09-27 15:12:25
请注意,我是matplotlib的新手,我正在尝试将直方图中的数据分散开来,可以在下面看到。以下是我编码的结果:我想实现的是:我尝试分散箱子,但它只会降低频率,而不会分散图表。以下是我的代码:#Loading dataurl = 'https://raw.githubusercontent.com/diggledoot/dataset/master/uber-raw-data-apr14.csv'latlong = pd.read_csv(url)#Rounding off data for more focused resultsn=2latlong['Lon']=[round(x,n) for x in latlong['Lon']]latlong['Lat']=[round(x,n) for x in latlong['Lat']]#Plotplt.figure(figsize=(8,6))plt.title('Rides based on latitude')plt.hist(latlong['Lat'],bins=100,color='cyan')plt.xlabel('Latitude')plt.ylabel('Frequency')plt.xticks(np.arange(round(latlong.Lat.min(),1),round(latlong.Lat.max(),1),0.1),rotation=45)plt.show()如何以与我想要实现的直方图类似的方式分隔 x 刻度线?
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

如果您这样做


frequency, bins = np.histogram(latlong['Lat'], bins=20)

print(frequency)

print(bins)

你得到


[     1      7     12     18    301  35831 504342  22081   1256    580

     63     12      8      1      2      0      0      0      0      1]

[40.07   40.1725 40.275  40.3775 40.48   40.5825 40.685  40.7875 40.89

 40.9925 41.095  41.1975 41.3    41.4025 41.505  41.6075 41.71   41.8125

 41.915  42.0175 42.12  ]

你可以看到,有些计数与平均值相去甚远。


您可以通过在指定的最小值和最大值之间剪切感兴趣的变量来忽略那些远离均值的条柱,然后绘制直方图,如下所示


import pandas as pd

import matplotlib.pyplot as plt

import numpy as np

#Loading data

url = 'https://raw.githubusercontent.com/diggledoot/dataset/master/uber-raw-data-apr14.csv'

latlong = pd.read_csv(url)


#Plot

plt.figure(figsize=(8,6))

plt.title('Rides based on latitude')

plt.hist(np.clip(latlong['Lat'], 40.6, 40.9),bins=50,color='cyan')

plt.xlabel('Latitude')

plt.ylabel('Frequency')

plt.show()


查看完整回答
反对 回复 2022-09-27
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号