我已经用谷歌搜索了一个小时左右,但没有找到我要找的东西。这是我在代码中所处的位置。
我使用 BS 将信息拉下来并将其保存到 CSV 文件中。CSV 有 x,y 坐标,我可以将其制作成散点图。
与此类似(大约有 1,500 个数据点,显然有 100 个组合)
x,y
0,6
1,2
0,7
4,6
9,9
0,0
4,4
1,2
ETC。
我想做的是使散点图上的点的大小与它们出现的频率相关。
df = pd.read_csv("book8.csv")
df.plot(kind = 'scatter',x='x',y='y')
plt.show()
Run Code Online (Sandbox Code Playgroud)
这些数组只是 0 到 9 之间的数字。我想将大小调整为 0-9 组合出现的频率。
我目前只有这个,显然它并不是很有用。
https://i.stack.imgur.com/daiXF.jpg
我是否需要将 x 和 y 设置到它们自己的数组中来完成此操作,而不是使用数据框(df)?
我还不确定如何将其推入 numpy (我会继续思考)。同时,Python解决方案:
import matplotlib.pyplot as plt
import random
from collections import Counter
x_vals = [random.randint(0, 10) for x in range(1000)]
y_vals = [random.randint(0, 10) for x in range(1000)]
combos = list(zip(x_vals, y_vals))
weight_counter = Counter(combos)
weights = [weight_counter[(x_vals[i], y_vals[i])] for i, _ in enumerate(x_vals)]
plt.scatter(x_vals, y_vals, s=weights)
plt.show()
Run Code Online (Sandbox Code Playgroud)