在 python plt.plot 中使用系列作为标记大小

cmj*_*607 2 python matplotlib pandas

是否可以使用数据框中的列来缩放 matplotlib 中的标记大小?当我执行以下操作时,我不断收到有关使用系列的错误。

import pandas as pd
import matplotlib.pyplot as plt

my_dict = {'Vx': [16,25,85,45], 'r': [1315,5135,8444,1542], 'ms': [10,50,100, 25]}
df= pd.DataFrame(my_dict)
fig, ax = plt.subplots(1, 1, figsize=(20, 10))
ax.plot(df.Vx, df.r, '.', markersize= df.ms)
Run Code Online (Sandbox Code Playgroud)

当我跑

ValueError: setting an array element with a sequence.
Run Code Online (Sandbox Code Playgroud)

我猜它不喜欢我向标记喂食一个系列的事实,但必须有办法让它工作......

Imp*_*est 5

使用plt.scatter代替plt.plot。Scatter 允许您使用元组或列表指定点的大小s和颜色c

import pandas as pd
import matplotlib.pyplot as plt

my_dict = {'Vx': [16,25,85,45], 'r': [1315,5135,8444,1542], 'ms': [10,50,100, 25]}
df= pd.DataFrame(my_dict)
fig, ax = plt.subplots(1, 1, figsize=(20, 10))
ax.scatter(df.Vx, df.r, s= df.ms)
plt.show()
Run Code Online (Sandbox Code Playgroud)