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()
网友评论