相关疑难解决方法(0)

如何将传说从情节中删除

我有一系列20个图(不是子图)可以在一个图中制作.我希望传说能够在盒子之外.同时,我不想改变轴,因为图形的大小减少了.请帮助我以下查询:

  1. 我想将情节框保留在情节区域之外.(我希望传说位于情节区域的右侧).
  2. 无论如何,我减少了图例框内文本的字体大小,因此图例框的大小会很小.

python matplotlib legend

866
推荐指数
15
解决办法
68万
查看次数

Python:使用类别和标记大小绘制散点图

我正在尝试用 Python从这里选择一个 R ggplot2 图。我正在查看相关散点图,如下所示。 在此处输入图片说明

导入数据

import pandas as pd
midwest= pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest.csv") 
Run Code Online (Sandbox Code Playgroud)

默认 Pandas 散点图

midwest.plot(kind='scatter', x='area', y='poptotal', ylim=((0, 50000)), xlim=((0., 0.1)))
Run Code Online (Sandbox Code Playgroud)

上面的代码本身不会对不同的类别进行颜色编码,而是如下所示。

在此处输入图片说明

Pandas Groupby + 散点图

但是,我们可以按“状态”对数据框进行分组,然后为每个组(ref)单独绘制散点图。

fig, ax = plt.subplots()
groups = midwest.groupby('state')
for name, group in groups:
    ax.plot(group.area, group.poptotal, marker='o', linestyle='', ms=10, 
label=name)
ax.legend(numpoints=1)
ax.set_ylim((0, 500000))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

虽然这确实让我们在散点图中得到了不同的类别,但它并没有让它们的大小增加popdensity.

Seaborn 配对图

 import seaborn as sns
sns.pairplot(x_vars=["area"], y_vars=["poptotal"], data=midwest, 
hue="state", size=5)
plt.gca().set_ylim((0, 50000))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

同样,这仅按类别绘制散点图。但是,我们仍然没有标记大小popdensity

Matplotlib

下面是我们如何深入到每个数据点并在 Matplotlib 中绘制绘图。

fig, ax = plt.subplots()
groups …
Run Code Online (Sandbox Code Playgroud)

python matplotlib ggplot2 pandas seaborn

6
推荐指数
0
解决办法
8686
查看次数

向散点图添加第二个图例

有没有一种方法可以向散点图的大小与某些数据成比例的散点图添加辅助图例?

我写了下面的代码来生成散点图。散点图的颜色表示年份(取自用户定义的df),散点图的大小表示变量3(也取自df,但为原始数据):

import pandas as pd 

colors = pd.DataFrame({'1985':'red','1990':'b','1995':'k','2000':'g','2005':'m','2010':'y'}, index=[0,1,2,3,4,5])

fig = plt.figure()
ax = fig.add_subplot(111)

for i in df.keys():
    df[i].plot(kind='scatter',x='variable1',y='variable2',ax=ax,label=i,s=df[i]['variable3']/100, c=colors[i])

ax.legend(loc='upper right')
ax.set_xlabel("Variable 1")
ax.set_ylabel("Variable 2")
Run Code Online (Sandbox Code Playgroud)

此代码(包含我的数据)产生以下图形:

单身传奇人物

因此,虽然对颜色/年份进行了很好的明确定义,但分散的大小却没有。

如何添加辅助或附加图例来定义散点图的大小?

python matplotlib scatter-plot pandas

2
推荐指数
1
解决办法
3537
查看次数

标签 统计

matplotlib ×3

python ×3

pandas ×2

ggplot2 ×1

legend ×1

scatter-plot ×1

seaborn ×1