seaborn 简要使用

2019-09-30  本文已影响0人  link_start

seaborn中文文档

seaborn 是matplotlib.pyplot 一种补充配色显示的包,
主要绘图功能调用matplotlibl。
数据组织pandas

风格选择

sns.set(style="whitegrid")

# 去掉多余的线 可去掉上边框 有边框
sns.despine()

可选风格:
1.darkgrid(灰色网格)
2.whitegrid(白色网格)
3.dark(黑色)
4.white(白色)
5.ticks(十字叉)

二维图

import pandas as pd
import seaborn as sns

## list 转换未pd 格式,seaborn 可以直接接受清洁的pd数据绘图
data = pd.DataFrame(ll, columns=[head[0], head[1], "$P_{a}$", head[3], head[4]])


sns.lineplot(data=data,  linewidth=2) #线图 会根据不同的data列数绘制多条折线

sns.distplot(data) #单变量直方图  
sns.jointplot(x="A", y="B", data=data)#双变量 散点图 A B为pd 列名



#散点图 x = ,y =  接收pd列名标签 作为散点图的x 轴和y轴
#hue = 接收pd列名标签 会在图中根据取值不同显现不同颜色。
#hue_order  接收一个列表 , hue的排列 
#size =  接收pd列名标签, 会在图中显示不同大小
sns.scatterplot(x=head[int(llc[0])], y=head[int(llc[1])],
                        hue=head[4], size="$P_{a}$",
                        hue_order=clarity_ranking,
                        sizes=(1, 50), linewidth=0,
                        data=data, ax=ax)
# 柱状图
flatui = ["#3498db"] # 配色
ax =sns.barplot(x = "C",y="A",data=data,ci=0, palette=sns.color_palette(flatui))


 plt.savefig() #保存图片

三维图

采用 Axes3D 绘制3D图

from mpl_toolkits.mplot3d import Axes3D
ax = plt.subplot(111, projection='3d')  # 
ax.scatter(ll_11, ll_12, ll_13, c=["#2D1E3E" for x in range(0,len(ll_11))],alpha=0.6)  # 绘制数据点
ax.set_zlabel('Z')  # 坐标轴
ax.view_init(elev=jj, azim=ii) #观察视角,实际使用发现 azim是横向角度,elev纵向角度

    for i in range(0, 360, 10):
        print(ii)
        for j in range(0,360,10):
            print(j)
            ax.view_init(elev=j, azim=i)
            plt.savefig("data2/movie"+str(i) + str(j) + ".png")

由于seaborn调用matplotlib 绘图,轴的设置可以直接用seaborn

       plt.ylabel("$P_{c}$")  #matplotlib  设置轴label  可用latex格式
        plt.xlabel("$P_{i}$")
        ax.tick_params(axis='y', labelsize=15)  #设置轴字体
        ax.tick_params(axis='x', labelsize=15)
        ax.set_xlabel("$P_{c}$", fontsize=15)
        ax.set_ylabel("$P_{i}$", fontsize=15)
      ax.set_title('Correlation between features', fontsize=18, position=(0.5, 1.05)) #设置标题  
        plt.ylim(-11, 16) #限制轴的取值范围
    plt.xlim(0, 500)
 # 将y轴或x轴进行逆序
    ax.invert_yaxis()
    # ax.invert_xaxis()
上一篇下一篇

猜你喜欢

热点阅读