python - python中的散点图密度来自csv中的数据
问题描述
我有一个非常庞大的数据集,包含 18000 名玩家。例如,每个玩家都有一个整体和完成功能,我想制作散点密度图,因为使用“正常”图我不能在哪里有更多的玩家,哪里是更少的玩家。
正常的散点图代码如下所示...
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
DATA_LOCATION = "main_players.csv"
FIRST_ATTRIBUTE = "Finishing"
SECOND_ATTRIBUTE = "Overall"
datas = pd.read_csv(DATA_LOCATION)
x = datas[[FIRST_ATTRIBUTE]]
y = datas[[SECOND_ATTRIBUTE]]
plt.scatter(x, y, color='r')
plt.xlabel('Finishing')
plt.ylabel('Overall')
plt.title('Odnos overall i finishinga')
plt.show()
我在 Internet 上查找并找到执行以下操作的代码:
# libraries
import matplotlib.pyplot as plt
import numpy as np
# create data
x = np.random.normal(size=50000)
y = x * 3 + np.random.normal(size=50000)
# Big bins
plt.hist2d(x, y, bins=(50, 50), cmap=plt.cm.jet)
#plt.show()
# Small bins
plt.hist2d(x, y, bins=(300, 300), cmap=plt.cm.jet)
#plt.show()
# If you do not set the same values for X and Y, the bins aren't square !
plt.hist2d(x, y, bins=(300, 30), cmap=plt.cm.jet)
#plt.show()
我只用我的 x 和 y 替换它们 x,但它不起作用。
我希望输出(密度图)看起来像这样:
解决方案
使用列名列表查询数据框,例如在您的代码中:
x = datas[[FIRST_ATTRIBUTE]]
y = datas[[SECOND_ATTRIBUTE]]
产生 pd.Dataframes,plt.hist2d 无法处理
尝试:
x = datas[FIRST_ATTRIBUTE]
y = datas[SECOND_ATTRIBUTE]
得到 pd.Series。这些你应该可以用 plt.hist2d 绘制
推荐阅读
- python - 使用 ThreadPoolExecutor 时没有从多个线程中获得收益
- php - 碳日期格式未返回正确的 diffInDays
- c# - .Net Core 单元测试错误:无法为“IdentityRole”创建 DbSet,因为此类型未包含在上下文模型中
- batch-file - `set VAR 2> nul` 后面的条件执行失败
- flutter - 用于其他语言的 String.hashCode 背后的 dart 实现
- html - 如何在组件Angular 8中插入HTML代码
- generics - 从 lambda 参数推导出 Kotlin 泛型失败
- javascript - 舍入文本字段
- exchangewebservices - fileAttachment.Load() 不适用于第二个附件
- node.js - 带有身份验证错误的 MongoDB Atlas 集群连接问题