数据可视化matplotlib&seaborn基础学习

目录

1、matplotlib绘制图形

1.1 简单图像绘制

1.2 子图绘制

2、seaborn绘制图形

3、常见图形的绘制

3.1 饼图

3.2 条形图

3.3 散点图


1、matplotlib绘制图形

语法结构:plt.plot(x,y,ls=,lw=,c=,marker=,markersize=,markeredgecolor=,markerfacecolor, label=)

x:X轴上的数值

y:y轴上的数值

ls:折线形式

lw:线条宽度

c:颜色

marker:数据点的形状

maekersize:数据点的大小

markeredgecolor:点的边框颜色

markerfacecolor:点的填充颜色

label:文本标签
 

1.1 简单图像绘制

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #图像能显示中文
plt.rcParams["axes.unicode_minus"] = False #确保负坐标轴能显示负号

# %matplotlib inline #确保图像能够展示出来

x=[-23,-13,-4,6,10,18,28,35,40]
y=[12,15,16,17,17,18,25,28,38]

plt.plot(x,y,
         linewidth=2,
         linestyle='--',#线型
         color='red',#线的颜色
         marker="*",#数据点形式
         markersize=10,#数据点大小
         markerfacecolor='blue'#数据点颜色
        )
#plt.figure(figsize=(5,5),dpi=100,facecolor='white')#figsize画布大小,dpi分辨率,faceclor画布颜色
plt.title('x-y图',color='red')#添加标题
plt.xlabel('$\\frac{1}{4}$量',color='purple')#添加x轴说明,$\\frac{1}{4}$--分数形式
plt.ylabel('Sedimentation(10$^8$t)',color='green')#添加y轴说明,10$^8$t--指数形式
plt.xlim([-25,40])#x轴的范围
plt.ylim([10,40])
plt.xticks([-30,-10,10,30,50],color='blue',rotation=60)  #参数x空值X轴的间隔,rotation旋转角度
plt.yticks([10,20,30,40])
plt.grid(True,linestyle='--',color='black')#添加网格
plt.legend(['曲线'],loc='best')#添加图例,loc--可以指定图例的位置,'best'自动选择最优
plt.show()

loc 参数选择说明

0自动选择显示位置5,7右边中间
1右上角6左边中间
2左上角8下方中间
3左下角9上方中间
4右下角10图形中间

颜色参数说明

b蓝色r红色
c青色y黄色
g绿色k黑色
m洋红色w白色

常见图例形式

å¨è¿éæå¥å¾çæè¿°

1.2 子图绘制

子图,即在较大的图形中同时放置一组较小的坐标轴,这些子图可能是画中画、网格图或其他更复杂的布局形式。子图使用subplot函数创建。

plt.subplot(2,2,1)
plt.plot([1,3,5,7],[2,3,5,8],'b*')

plt.subplot(2,2,2)
plt.plot([-23,-13,-4,6],[12,15,16,17],'g^')

plt.subplot(2,2,3)
plt.plot([18,25,28,38],[18,28,35,40],'ro')

plt.subplot(2,2,4)
plt.plot([11,32,35,47],[22,43,55,68],'k')

2、seaborn绘制图形

seaborn是基于Matplotlib的Python数据可视化库,它提供了一个高级界面,用于绘制引人入胜且内容丰富的统计图,其提供的面向数据集制图函数主要是对行、列、索引和数组的操作,包含对整个数据集进行内部的语义映射与统计计算,以此生成富含信息的图表,使用seaborn绘制图形,有三种方式,分别如下:

·plt.style.use( ‘seaborn’)
.sns.set()
·调用seaborn函数
对于简单的制图,使用前两种都可以,但对于复杂图形,可能会使用第三种方式
 

柱状图:sns.barplot(x,y)

语法结构:sns.barplot(x ,y ,hue=,data=,color=,palette=,orient =)

x,y不同坐标上的值

hue:分类变量

data:数据

color:颜色

palette:调色板

orient:方向(vertical:垂直, horizontal:水平)



散点图:sns.scatter(x,y)

语法结构:sns.seatterplot(x,y,hue,data,color,palette,style,s,markers)

x,y不同坐标上的值

hue:分类变量

data:数据

color:颜色

palette:调色板

style:以分类变量作图,产生不同的形杖

s:形状大小

markers:形状
 


箱线图:sns.boxplot

语法结构:sns.boxplot(x,y,hue,data,order,width, Fliersize,linewidth,color,palette)

x,y不同坐标上的值

hue:分类变量

data:数据·

width:箱线宽度

fliersize:异常值点的大小

color:颜色

palette:调色板

linewidth:指定箱体边框的宽度
 

3、常见图形的绘制

3.1 饼图

语法结构:pie(x, explode,labels,colors,autopct=,pctdistance,shadow,startangle,radius,wedgeprops,textprops,center)

explode:突出大小

labels:标签

counterclock:是否逆时针呈现

colors:颜色

wedgeprops:设置饼图内外边界的属性

autopct:百分比

textprops:设置饼图中文本属性

pctdistance:百分比标签与圆心距离

center:设置中心位置

shadow:是否添加饼图阴影效果

labeldistance:设置各扇形标签与圆心距离

startangle:设置饼图的初始摆放角度

radius:设置饼图半径大小

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #图像能显示中文
plt.rcParams["axes.unicode_minus"] = False #确保负坐标轴能显示负号

x=[0.12,0.18,0.10,0.30,0.20,0.10]
y=['东北','华东','华北','华南','西北','西南']
explodes=[0,0.1,0,0,0.1,0]
colors=['red','blue','yellow','green','darkred','purple']

plt.pie(x,explode=explodes,labels=y,colors=colors,autopct='%.2f%%',pctdistance=0.5,
        labeldistance=1.1,startangle=120,radius=1.2,counterclock=False,
        wedgeprops={'linewidth':1.5,'edgecolor':'green'},
       textprops={'fontsize':10,'color':'black'})
plt.title('订单金额分布图',pad=30)
plt.show()

3.2 条形图

条形图不仅适合分类水平较多的变量也更加适合对比差异。

语法结构:bar(x, y,width,bottom,color,linewidth,tick_label,align)

x:指定x轴上数值

y:指定y轴上数值

width:指定条形图宽度

color:条形图的填充色

edge:条形图的边框色

linewidth:条形图边框宽度

tick_label:条形图的刻度标签

align:指定轴上对齐方式
 

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #图像能显示中文
plt.rcParams["axes.unicode_minus"] = False #确保负坐标轴能显示负号

x=[0.12,0.18,0.10,0.30,0.20,0.10]
y=['东北','华东','华北','华南','西北','西南']
colors=['red','blue','yellow','green','darkred','purple']
plt.bar(x=range(0,len(x)),height=x,align='center',color=colors,tick_label=y)
plt.xlabel('地区',fontsize=15,labelpad=10)
plt.ylabel('销量',fontsize=15,labelpad=10)
plt.title('不同地区的消量对比图',fontsize=20,pad=20)
plt.show()

3.3 散点图

语法结构:plt.scatter(x, y, s, c, marker, cmap, norm, alpha, linewidths, edgecolorsl)

x:x数据

y:y轴数据

s:散点大小

c:散点颜色

marker:散点图形状

cmap:指定某个colormap值,该参数一般不用,用默认值

alpha:散点的透明度

linewidths:散点边界线的宽度

edgecolors:设置散点边界线的颜色
 

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] #为了在绘图时能显示中文
plt.rcParams["axes.unicode_minus"] = False #为了在绘图时能显示负坐标轴的负号

train_data=np.loadtxt(r'C:\Users\trainData.txt')
train_data_label=train_data[:,2] 

xy_1=train_data[np.where(train_data_label==1)]

plt.scatter(xy_1[:,0],xy_1[:,1],color='r',marker='s',s=5,label="训练数据 1")
plt.xlabel('坐标x',labelpad=10)
plt.ylabel('坐标y',labelpad=10)
plt.title('坐标散点图',pad=20)
plt.show()

Matplotlib官网:Matplotlib 中文

seaborn官网:seaborn: statistical data visualization — seaborn 0.12.1 documentation

本文仅供学习交流

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值