python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!...

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第1张图片
作者:zsx_yiyiyi
编辑:python大本营

大家好,今天要分享给大家25个Matplotlib图的汇总,在数据分析和可视化中非常有用,文章较长,可以马起来慢慢练手。

# !pip install brewer2mpl

1. 散点图
Scatteplot是用于研究两个变量之间关系的经典和基本图。如果数据中有多个组,则可能需要以不同颜色可视化每个组。在Matplotlib,你可以方便地使用。

# Import dataset 
midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")

# Prepare Data 
# Create as many colors as there are unique midwest['category']
categories = np.unique(midwest['category'])
colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]

# Draw Plot for Each Category
plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k')

for i, category in enumerate(categories):
    plt.scatter('area', 'poptotal', 
                data=midwest.loc[midwest.category==category, :], 
                s=20, c=colors[i], label=str(category))

# Decorations
plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),
              xlabel='Area', ylabel='Population')

plt.xticks(fontsize=12); plt.yticks(fontsize=12)
plt.title("Scatterplot of Midwest Area vs Population", fontsize=22)
plt.legend(fontsize=12)    
plt.show()    

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第2张图片

2. 带边界的气泡图
有时,您希望在边界内显示一组点以强调其重要性。在此示例中,您将从应该被环绕的数据帧中获取记录,并将其传递给下面的代码中描述的记录。encircle()

from 

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第3张图片

3. 带线性回归最佳拟合线的散点图
如果你想了解两个变量如何相互改变,那么最合适的线就是要走的路。下图显示了数据中各组之间最佳拟合线的差异。要禁用分组并仅为整个数据集绘制一条最佳拟合线,请从下面的调用中删除该参数。

# Import Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第4张图片

每个回归线都在自己的列中
或者,您可以在其自己的列中显示每个组的最佳拟合线。你可以通过在里面设置参数来实现这一点。

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")
df_select = df.loc[df.cyl.isin([4,8]), :]

# Each line in its own column
sns.set_style("white")
gridobj = sns.lmplot(x="displ", y="hwy", 
                     data=df_select, 
                     height=7, 
                     robust=True, 
                     palette='Set1', 
                     col="cyl",
                     scatter_kws=dict(s=60, linewidths=.7, edgecolors='black'))

# Decorations
gridobj.set(xlim=(0.5, 7.5), ylim=(0, 50))
plt.show()

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第5张图片

4. 抖动图
通常,多个数据点具有完全相同的X和Y值。结果,多个点相互绘制并隐藏。为避免这种情况,请稍微抖动点,以便您可以直观地看到它们。这很方便使用

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")

# Draw Stripplot
fig, ax = plt.subplots(figsize=(16,10), dpi= 80)    
sns.stripplot(df.cty, df.hwy, jitter=0.25, size=8, ax=ax, linewidth=.5)

# Decorations
plt.title('Use jittered plots to avoid overlapping of points', fontsize=22)
plt.show()

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第6张图片

5. 计数图
避免点重叠问题的另一个选择是增加点的大小,这取决于该点中有多少点。因此,点的大小越大,周围的点的集中度就越大。

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")
df_counts = df.groupby(['hwy', 'cty']).size().reset_index(name='counts')

# Draw Stripplot
fig, ax = plt.subplots(figsize=(16,10), dpi= 80)    
sns.stripplot(df_counts.cty, df_counts.hwy, size=df_counts.counts*2, ax=ax)

# Decorations
plt.title('Counts Plot - Size of circle is bigger as more points overlap', fontsize=22)
plt.show()

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第7张图片

6. 边缘直方图
边缘直方图具有沿X和Y轴变量的直方图。这用于可视化X和Y之间的关系以及单独的X和Y的单变量分布。该图如果经常用于探索性数据分析(EDA)。

# Import Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第8张图片

7.边缘箱形图
边缘箱图与边缘直方图具有相似的用途。然而,箱线图有助于精确定位X和Y的中位数,第25和第75百分位数。

# Import Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第9张图片

8. 相关图
Correlogram用于直观地查看给定数据帧(或2D数组)中所有可能的数值变量对之间的相关度量。

# Import Dataset

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第10张图片

9. 矩阵图
成对图是探索性分析中的最爱,以理解所有可能的数字变量对之间的关系。它是双变量分析的必备工具。

# Load Dataset

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第11张图片
# Load Dataset

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第12张图片
# Prepare Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第13张图片

11. 发散型文本

分散的文本类似于发散条,如果你想以一种漂亮和可呈现的方式显示图表中每个项目的价值,它更喜欢。

# Prepare Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第14张图片

12. 发散型包点图
发散点图也类似于发散条。然而,与发散条相比,条的不存在减少了组之间的对比度和差异。

# Prepare Data
df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv")
x = df.loc[:, ['mpg']]
df['mpg_z'] = (x - x.mean())/x.std()
df['colors'] = ['red' if x < 0 else 'darkgreen' for x in df['mpg_z']]
df.sort_values('mpg_z', inplace=True)
df.reset_index(inplace=True)

# Draw plot
plt.figure(figsize=(14,16), dpi= 80)
plt.scatter(df.mpg_z, df.index, s=450, alpha=.6, color=df.colors)
for x, y, tex in zip(df.mpg_z, df.index, df.mpg_z):
    t = plt.text(x, y, round(tex, 1), horizontalalignment='center', 
                 verticalalignment='center', fontdict={'color':'white'})

# Decorations
# Lighten borders
plt.gca().spines["top"].set_alpha(.3)
plt.gca().spines["bottom"].set_alpha(.3)
plt.gca().spines["right"].set_alpha(.3)
plt.gca().spines["left"].set_alpha(.3)

plt.yticks(df.index, df.cars)
plt.title('Diverging Dotplot of Car Mileage', fontdict={'size':20})
plt.xlabel('$Mileage$')
plt.grid(linestyle='--', alpha=0.5)
plt.xlim(-2.5, 2.5)
plt.show()

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第15张图片

13. 带标记的发散型棒棒糖图

带标记的棒棒糖通过强调您想要引起注意的任何重要数据点并在图表中适当地给出推理,提供了一种可视化分歧的灵活方式。

# Prepare Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第16张图片

14.面积图

通过对轴和线之间的区域进行着色,区域图不仅强调峰值和低谷,而且还强调高点和低点的持续时间。高点持续时间越长,线下面积越大。

import 

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第17张图片

15. 有序条形图

有序条形图有效地传达了项目的排名顺序。但是,在图表上方添加度量标准的值,用户可以从图表本身获取精确信息。

# Prepare Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第18张图片

16. 棒棒糖图

棒棒糖图表以一种视觉上令人愉悦的方式提供与有序条形图类似的目的。

# Prepare Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第19张图片

17. 包点图

点图表传达了项目的排名顺序。由于它沿水平轴对齐,因此您可以更容易地看到点彼此之间的距离。

# Prepare Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第20张图片

18. 坡度图

斜率图最适合比较给定人/项目的“之前”和“之后”位置。

import 

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第21张图片

19. 哑铃图

哑铃图传达各种项目的“前”和“后”位置以及项目的排序。如果您想要将特定项目/计划对不同对象的影响可视化,那么它非常有用。

import 

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第22张图片

20. 连续变量的直方图

直方图显示给定变量的频率分布。下面的表示基于分类变量对频率条进行分组,从而更好地了解连续变量和串联变量。

# Import Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第23张图片

21. 类型变量的直方图

分类变量的直方图显示该变量的频率分布。通过对条形图进行着色,您可以将分布与表示颜色的另一个分类变量相关联。

# Import Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第24张图片

22. 密度图

密度图是一种常用工具,可视化连续变量的分布。通过“响应”变量对它们进行分组,您可以检查X和Y之间的关系。以下情况,如果出于代表性目的来描述城市里程的分布如何随着汽缸数的变化而变化。

# Import Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第25张图片

23. 直方密度线图

带有直方图的密度曲线将两个图表传达的集体信息汇集在一起,这样您就可以将它们放在一个图形而不是两个图形中。

# Import Data

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第26张图片

24. Joy Plot

Joy Plot允许不同组的密度曲线重叠,这是一种可视化相对于彼此的大量组的分布的好方法。它看起来很悦目,并清楚地传达了正确的信息。它可以使用joypy基于的包来轻松构建matplotlib。

# !pip install joypy

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第27张图片

25. 分布式点图

分布点图显示按组分割的点的单变量分布。点数越暗,该区域的数据点集中度越高。通过对中位数进行不同着色,组的真实定位立即变得明显。

import 

python sns绘制回归线_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!..._第28张图片

本文参考自:[1]https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/

你可能感兴趣的:(python,sns绘制回归线)