作者:vinyyu
声明:版权所有,转载请注明出处,谢谢。

鸢尾花iris.csv文件

numpy, matplotlib, seaborn, pandas

#准备好需要的库
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pdplt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文显示问题-设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

1 画线,set_style( ) set( )

sns.set_style("whitegrid")
plt.plot(np.arange(10))
plt.show() 

#set( )通过设置参数可以用来设置背景,调色板等,更加常用。
sns.set(style="white", palette="muted", color_codes=True)     #set( )设置主题,调色板更常用
plt.plot(np.arange(10))
plt.show() 

2 distplot( )直方图加强版,kdeplot( )密度曲线图

plt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文显示问题-设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
df_iris = pd.read_csv('d:/iris.csv')
fig, axes = plt.subplots(1,2)
sns.distplot(df_iris['petal length'], ax = axes[0], kde = True, rug = True)        # kde 密度曲线  rug 边际毛毯
sns.kdeplot(df_iris['petal length'], ax = axes[1], shade=True)                     # shade  阴影
axes[0].set_title("加强直方图")
axes[1].set_title("密度曲线图")
plt.show()

sns.set( palette="muted", color_codes=True)
f, axes = plt.subplots(2, 2, figsize=(7, 7), sharex=True)
sns.distplot(df_iris['petal length'], kde=False, color="b", ax=axes[0, 0])
sns.distplot(df_iris['petal length'], hist=False, rug=True, color="r", ax=axes[0, 1])
sns.distplot(df_iris['petal length'], hist=False, color="g", kde_kws={"shade": True}, ax=axes[1, 0])
sns.distplot(df_iris['petal length'], color="m", ax=axes[1, 1])
plt.show()  

3 箱线图 boxplot( )

df_iris = pd.read_csv('d:\iris.csv')
sns.boxplot(x = df_iris['class label'],y = df_iris['sepal width'])
plt.title("箱线图")
plt.show()  

df_iris = pd.read_csv('d:\iris.csv')
#将iris数据根据sepal width分成1和2两类
df_iris['sepal class']=round(df_iris['sepal width']/2,0)
#fliersize=1将异常点虚化,showmeans=True显示平均值,order表示按x轴显示进行排序
sns.boxplot(data=df_iris,x='sepal class',y='sepal width',\hue='class label',hue_order=['Setosa','Versicolor','Virginica'],showmeans=True,fliersize=1)
plt.legend(loc='upper right')#图示靠右显示
plt.rc('font',family='SimHei',size=13)
plt.title("箱线图")
plt.show

4 热图 heatmap( )

df_iris = pd.read_csv('d:\iris.csv')
#求iris4个参数的相关性,越接近1表示正相关,越接近-1表示负相关,越接近0表示不相关
df_cor=df_iris.corr()
f, ax = plt.subplots(figsize=(10, 7))
#plt.xticks(rotation='90')
sns.heatmap(df_cor, square=True, linewidths=.5, annot=True)
plt.title("热图")
plt.show()

5 散点图 scatter( )

df_iris = pd.read_csv('d:\iris.csv')
plt.subplots(figsize=(10, 7))
plt.scatter(data=df_iris, x='sepal length', y='sepal width', c='r')
plt.xlim(2,10)
plt.ylim(1,5)
plt.title("散点图")
plt.show()

6 矩阵散点图 pairplot( )

df_iris = pd.read_csv('d:\iris.csv')
sns.pairplot(df_iris, vars=["sepal width", "sepal length"],hue='class label',palette="husl")
plt.title("pairplot")
plt.show() 

7 柱状图 bar()

df_iris = pd.read_csv('d:\iris.csv')
#将iris数据根据sepal length分成4,5,6,7共4类
df_iris['sepal class']=round(df_iris['sepal length'])
#对分类数据统计个数
df_bar=pd.DataFrame({'x':pd.Series([4,5,6,7]),'y':pd.Series([0,0,0,0])})
for  i in df_bar['x']:df_bar.y[df_bar.x==i]=len(df_iris[df_iris['sepal class']==i])
plt.bar(x='x', height='y', data=df_bar)
plt.title("柱状图")
plt.show()
#这里用统计个数和柱状图做了类似直方图的功能图像

8 饼图 pie()

df_iris = pd.read_csv('d:\iris.csv')
#将iris数据根据sepal length分成4,5,6,7共4类
df_iris['sepal class']=round(df_iris['sepal length'])
#对分类数据统计个数
df_bar=pd.DataFrame({'x':pd.Series([4,5,6,7]),'y':pd.Series([0,0,0,0])})
for  i in df_bar['x']:df_bar.y[df_bar.x==i]=len(df_iris[df_iris['sepal class']==i])
plt.pie(data=df_bar,x='y',labels='x',autopct='%1.2f%%') #画饼图(数据,数据对应的标签,百分数保留两位小数点)
plt.title('饼图')
plt.show()

9 联合分布图 jointplot( )

df_iris = pd.read_csv('d:\iris.csv')
sns.jointplot("sepal length", "sepal width", df_iris, kind='reg')
plt.title("联合分布图")
plt.show() 

10 联合密度图

g = sns.JointGrid("sepal length", "sepal width", df_iris)
g = g.plot_joint(sns.kdeplot, cmap = 'Reds_r')
#绘制密度图
plt.grid(linestyle = '--')
g.plot_marginals(sns.kdeplot, shade = True, color = 'r')

11 多种联合图

g = sns.PairGrid(df_iris)
g.map_diag(sns.kdeplot, lw=3) #设置对角线图表
g.map_upper(plt.scatter, color = 'r')  #设置对角线上端图表
g.map_lower(sns.kdeplot, cmap='Blues_d') #设置对角线下端图表

Python数据可视化-matplotlib and seaborn相关推荐

  1. Python数据可视化matplotlib(一)—— 图表的基本元素

    Python数据可视化matplotlib(一)-- 图表的基本元素 图表创建 plt.show() # 图表窗口1 → plt.show()plt.plot(np.random.rand(10)) ...

  2. Python数据可视化三部曲之 Seaborn 从上手到上头

      Python数据可视化三部曲之 Seaborn 从上手到上头 文章目录 1. 安装 seaborn 2.准备数据 3.背景与边框 3.1 设置背景风格 3.3 其他 3.2 边框控制 4. 绘制 ...

  3. 每日一课 | Python数据可视化—Matplotlib初体验

    04. Matplotlib初体验 大家好,我是小C,上期给大家分享--Python数据可视化-如何做好启动准备(小白必读) 本期分享内容:Python数据可视化-Matplotlib初体验 本期小C ...

  4. Python数据可视化matplotlib:第四回:文字图例尽眉目

    Python数据可视化matplotlib:第四回:文字图例尽眉目 1. Figure和Axes上的文本 大家可以看到有些论文或者博客上都有绘制的很漂亮的图,其中大部分都在图形绘制上进行一定的注释说明 ...

  5. 第十九章 python 数据可视化 Matplotlib Pygal

    python 数据可视化 一.使用Matplotlib生成数据图 1. matplotlib画图中文乱码小方框的解决方法 2. 知识点 3. 安装Matplotlib包 4. Matplotlib数据 ...

  6. Python数据可视化--Matplotlib

    一.基本概念 Matplotlib 是一个 Python 的 2D 绘图库,是一个非常强大的 Python 画图工具.在机器学习和深度学习中,面对海量的数据集,我们时常需要通过绘图直观的呈现出这些数据 ...

  7. Python数据可视化 Matplotlib详解(一) —— 折线图与时序数据绘制

    目录 本小节内容 基础代码 实例讲解 如何多图绘制 多行多列的情况 多行单列的情况 Matplotlib 绘制时序数据 多时序变量绘图 如何给数据添加注释 Reference 本小节内容 今天这一小节 ...

  8. python数据可视化-matplotlib之散点图sactter函数详解

    本文转载自-[数字的可视化:python画图之散点图sactter函数详解] 感谢博主-hefei_cyp的博客 最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是 ...

  9. python数据可视化 - matplotlib专题:带数据标签的双batch的Bar图绘制示例

    基于matplotlib的双Batch带标签bar图生成函数 李俊才 邮箱:291148484@163.com [代码实现] import matplotlib import matplotlib.p ...

最新文章

  1. 车联网系统会不会只是智能手机系统的翻版?
  2. Tomcat服务器端口的配置
  3. yum与rpm的详解 --用来安装软件
  4. springboot思维导图
  5. Linux引导过程与服务控制、排障演示及运行级别(详细图解)
  6. 用Swashbuckle(swagger-ui)显示API帮助并进行调试
  7. 从714里连续减去6减几次得0_数学干货 | 小学数学1—6年级基础知识整理 ,预习复习都能用...
  8. MySQL Membership
  9. 中国兽医显微镜市场趋势报告、技术动态创新及市场预测
  10. 2015年第六届蓝桥杯国赛试题(JavaA组)
  11. Linux常用shell种类
  12. 远程传输文件--java文件流
  13. 在黑客攻击之前软件安全检测是重点,软件安全检测机构怎么找?
  14. Kylo调研总结(二)
  15. 汤普森算法_什么是汤普森采样(Thompson sampling)?
  16. php爬拉钩数据,拉勾网数据两种爬取
  17. t00ls.php,php学习心历(2)-中文分词
  18. 双11到了,月薪5千的人如何赚到2万?这里有5个技巧!
  19. Python黑客系列之——控制自己的手机摄像头拍照,并自动发送到邮箱。
  20. 如何获取OpenAI API Key

热门文章

  1. PulseAudio多线程通信:pthread_cond_broadcast/pthread_cond_signal/pthread_cond_wait(九)
  2. Camera--V4L2驱动学习记录
  3. Linux网络编程——原始套接字编程
  4. 深度学习自学(二十二):推理框架-MNN
  5. 如何用python做俄罗斯方块_你的童年有俄罗斯方块吗?教你用 Python 实现俄罗斯方块!...
  6. python查看所有异常类_Python调试常见异常汇总
  7. java 抽象类 模板_Java学习day21-抽象类(abstract class)和模板设计模式(TemplateMethod)...
  8. License for package Android SDK Build-Tools 28.0.3 not accepted.
  9. 在csdn平台写博客时,如何插入图片
  10. iframe重新加载与修改提交不关闭窗口属性页面