返回顶部
首页 > 资讯 > 后端开发 > Python >Python利用matplotlib画出漂亮的分析图表
  • 673
分享到

Python利用matplotlib画出漂亮的分析图表

2024-04-02 19:04:59 673人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录前言数据集引入折线图饼图散点图面积图直方图条形图前言 作为一名优秀的分析师,还是得学会一些让图表漂亮的技巧,这样子拿出去才更加有面子哈哈。好了,今天的锦囊就是介绍一下各种常见的图

前言

作为一名优秀的分析师,还是得学会一些让图表漂亮的技巧,这样子拿出去才更加有面子哈哈。好了,今天的锦囊就是介绍一下各种常见的图表,可以怎么来画吧。

数据集引入

首先引入数据集,我们还用一样的数据集吧,分别是 Salary_Ranges_by_Job_Classification以及 GlobalLandTemperaturesByCity。(具体数据集可以后台回复 plot获取)

# 导入一些常用包
import pandas as pd
import numpy as np
import seaborn as sns

%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib as mpl
plt.style.use('fivethirtyeight')

#解决中文显示问题,Mac
from matplotlib.font_manager import FontProperties

# 查看本机plt的有效style
print(plt.style.available)
# 根据本机available的style,选择其中一个,因为之前知道ggplot很好看,所以我选择了它
mpl.style.use(['ggplot'])

# ['_classic_test', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark-palette', 'seaborn-dark', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'seaborn', 'Solarize_Light2']

# 数据集导入

# 引入第 1 个数据集 Salary_Ranges_by_Job_Classification
salary_ranges = pd.read_csv('./data/Salary_Ranges_by_Job_Classification.csv')

# 引入第 2 个数据集 GlobalLandTemperaturesByCity
climate = pd.read_csv('./data/GlobalLandTemperaturesByCity.csv')
# 移除缺失值
climate.dropna(axis=0, inplace=True)
# 只看中国
# 日期转换, 将dt 转换为日期,取年份, 注意map的用法
climate['dt'] = pd.to_datetime(climate['dt'])
climate['year'] = climate['dt'].map(lambda value: value.year)
climate_sub_china = climate.loc[climate['Country'] == 'China']
climate_sub_china['Century'] = climate_sub_china['year'].map(lambda x:int(x/100 +1))
climate.head()

折线图

折线图是比较简单的图表了,也没有什么好优化的,颜色看起来顺眼就好了。下面是从网上找到了颜色表,可以从中挑选~

# 选择上海部分天气数据
df1 = climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.set_index('dt')
df1.head()

# 折线图
df1.plot(colors=['lime'])
plt.title('AverageTemperature Of ShangHai')
plt.ylabel('Number of immigrants')
plt.xlabel('Years')
plt.show()

上面这是单条折线图,多条折线图也是可以画的,只需要多增加几列。

# 多条折线图
df1 = climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.rename(columns={'AverageTemperature':'SH'})
df2 = climate.loc[(climate['Country']=='China')&(climate['City']=='Tianjin')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.rename(columns={'AverageTemperature':'TJ'})
df3 = climate.loc[(climate['Country']=='China')&(climate['City']=='Shenyang')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.rename(columns={'AverageTemperature':'SY'})
# 合并
df123 = df1.merge(df2, how='inner', on=['dt'])\
.merge(df3, how='inner', on=['dt'])\
.set_index(['dt'])
df123.head()

# 多条折线图
df123.plot()
plt.title('AverageTemperature Of 3 City')
plt.ylabel('Number of immigrants')
plt.xlabel('Years')
plt.show()

饼图

接下来是画饼图,我们可以优化的点多了一些,比如说从饼块的分离程度,我们先画一个“低配版”的饼图。

df1 = salary_ranges.groupby('SetID', axis=0).sum()

 
# “低配版”饼图
df1['Step'].plot(kind='pie', figsize=(7,7),
autopct='%1.1f%%',
shadow=True)
plt.axis('equal')
plt.show()

# “高配版”饼图
colors = ['lightgreen', 'lightblue'] #控制饼图颜色 ['lightgreen', 'lightblue', 'pink', 'purple', 'grey', 'Gold']
explode=[0, 0.2] #控制饼图分离状态,越大越分离

df1['Step'].plot(kind='pie', figsize=(7, 7),
autopct = '%1.1f%%', startangle=90,
shadow=True, labels=None, pctdistance=1.12, colors=colors, explode = explode)
plt.axis('equal')
plt.legend(labels=df1.index, loc='upper right', fontsize=14)
plt.show()

散点图

散点图可以优化的地方比较少了,ggplot2的配色都蛮好看的,正所谓style选的好,省很多功夫!

# 选择上海部分天气数据
df1 = climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.rename(columns={'AverageTemperature':'SH'})

df2 = climate.loc[(climate['Country']=='China')&(climate['City']=='Shenyang')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.rename(columns={'AverageTemperature':'SY'})
# 合并
df12 = df1.merge(df2, how='inner', on=['dt'])
df12.head()

# 散点图
df12.plot(kind='scatter', x='SH', y='SY', figsize=(10, 6), color='darkred')
plt.title('Average Temperature Between ShangHai - ShenYang')
plt.xlabel('ShangHai')
plt.ylabel('ShenYang')
plt.show()

面积图

# 多条折线图
df1 = climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.rename(columns={'AverageTemperature':'SH'})
df2 = climate.loc[(climate['Country']=='China')&(climate['City']=='Tianjin')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.rename(columns={'AverageTemperature':'TJ'})
df3 = climate.loc[(climate['Country']=='China')&(climate['City']=='Shenyang')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.rename(columns={'AverageTemperature':'SY'})
# 合并
df123 = df1.merge(df2, how='inner', on=['dt'])\
.merge(df3, how='inner', on=['dt'])\
.set_index(['dt'])
df123.head()

colors = ['red', 'pink', 'blue'] #控制饼图颜色 ['lightgreen', 'lightblue', 'pink', 'purple', 'grey', 'gold']
df123.plot(kind='area', stacked=False,
figsize=(20, 10), colors=colors)
plt.title('AverageTemperature Of 3 City')
plt.ylabel('AverageTemperature')
plt.xlabel('Years')
plt.show()

直方图

# 选择上海部分天气数据
df = climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.set_index('dt')
df.head()

# 最简单的直方图
df['AverageTemperature'].plot(kind='hist', figsize=(8,5), colors=['grey'])
plt.title('ShangHai AverageTemperature Of 2010-2013') # add a title to the histogram
plt.ylabel('Number of month') # add y-label
plt.xlabel('AverageTemperature') # add x-label
plt.show()

条形图

# 选择上海部分天气数据
df = climate.loc[(climate['Country']=='China')&(climate['City']=='Shanghai')&(climate['dt']>='2010-01-01')]\
.loc[:,['dt','AverageTemperature']]\
.set_index('dt')
df.head()

df.plot(kind='bar', figsize = (10, 6))
plt.xlabel('Month')
plt.ylabel('AverageTemperature')
plt.title('AverageTemperature of shanghai')
plt.show()

df.plot(kind='barh', figsize=(12, 16), color='steelblue')
plt.xlabel('AverageTemperature')
plt.ylabel('Month')
plt.title('AverageTemperature of shanghai')
plt.show()

到此这篇关于python利用matplotlib画出漂亮的分析图表的文章就介绍到这了,更多相关Python 绘制分析图表内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python利用matplotlib画出漂亮的分析图表

本文链接: https://lsjlt.com/news/119144.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python利用matplotlib画出漂亮的分析图表
    目录前言数据集引入折线图饼图散点图面积图直方图条形图前言 作为一名优秀的分析师,还是得学会一些让图表漂亮的技巧,这样子拿出去才更加有面子哈哈。好了,今天的锦囊就是介绍一下各种常见的图...
    99+
    2024-04-02
  • 怎么用Python画出漂亮的图表
    本篇内容介绍了“怎么用Python画出漂亮的图表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python...
    99+
    2024-04-02
  • 怎么用Python输出漂亮的表格
    本篇内容介绍了“怎么用Python输出漂亮的表格”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 前言最近在用python写一个小工具,这...
    99+
    2023-06-16
  • python绘制非常漂亮的图表
      标签: python界面图形 2016-02-14 12:02 1200人阅读 评论(0) 收藏 举报  分类:   python(4)  版权声明:本文为博主原创文章,转载请注明出处,查看原文章,请访问:htt...
    99+
    2023-01-31
    图表 漂亮 python
  • Python利用Diagrams绘制漂亮的系统架构图
    目录1.准备2.基本使用与例子2.1 初始化与导出2.2 节点类型2.3 集群块2.4 自定义线的颜色与属性Diagrams  是一个基于Python绘制云系统架构的模块,...
    99+
    2023-01-12
    Python Diagrams绘制系统架构图 Python 系统架构图 Python Diagrams
  • 用 Python 画如此漂亮的专业插图 ?简直 So easy!
    正文大家好,我是Python人工智能技术 方法一 强烈推荐 Python 的绘图模块 matplotlib: python plotting 。画出来的图真的是高端大气上档次,低调奢华有内涵~ 适用于从 2D 到 3D,从标量到矢...
    99+
    2023-05-14
    Python 专业插图
  • python如何使用tabulate打印出漂亮的2D列表
    这篇文章主要介绍了python如何使用tabulate打印出漂亮的2D列表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用tabulate打印出漂亮的2D列表很多时候,用P...
    99+
    2023-06-27
  • 怎么使用Python打印漂亮的表格
    本篇内容主要讲解“怎么使用Python打印漂亮的表格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python打印漂亮的表格”吧!第一种:使用 format先来看几个小 demo左对齐&...
    99+
    2023-06-15
  • Python利用Matplotlib绘制图表详解
    目录前言折线图绘制与显示绘制数学函数图像散点图绘制绘制柱状图绘制直方图饼图前言 Matplotlib 是 Python 中类似 MATLAB 的绘图工具,如果您熟悉 MATLAB,那...
    99+
    2024-04-02
  • Python竟能画这么漂亮的花,帅呆了(代码分享)
    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下。 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写app...
    99+
    2022-06-04
    的花 竟能 帅呆了
  • 利用python库matplotlib绘制不同的图表
    目录1、绘制简单曲线图2、绘制单条曲线图3、绘制多条曲线4、绘制直方图5、绘制散点图1、绘制简单曲线图 思路:通过3个坐标点,绘制曲线 import matplotlib.pyplo...
    99+
    2024-04-02
  • python matplotlib绘画十一种常见数据分析图
    目录1. 折线图2. 散点图3. 直方图 4. 饼图5. 箱线图 6.概率图 7.雷达图 8.流向图 9.绘图中的表格设置 ...
    99+
    2024-04-02
  • python中如何利用matplotlib画多个并列的柱状图
    首先如果柱状图中有中文,比如X轴和Y轴标签需要写中文,解决中文无法识别和乱码的情况,加下面这行代码就可以解决了: plt.rcParams['font.sans-serif'] = ...
    99+
    2024-04-02
  • 如何利用python库matplotlib绘制不同的图表
    这篇文章主要介绍如何利用python库matplotlib绘制不同的图表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、绘制简单曲线图思路:通过3个坐标点,绘制曲线import matplotlib.py...
    99+
    2023-06-29
  • python用Pygal如何生成漂亮的SVG图像详解
    前言 SVG可以算是目前最最火热的图像文件格式了,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language...
    99+
    2022-06-04
    详解 图像 漂亮
  • python数据分析matplotlib的基础绘图使用
    目录前言(一)什么是matplotlib1.为什么要学习matplotlib2.什么是matplotlib3. 安装matplotlib4.导入matplotlib库(二)matpl...
    99+
    2024-04-02
  • python graphviz画图的示例分析
    python graphviz画图的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言:最近要开始做课设来着,题目是哈夫曼编码,我琢磨着有什么办法可以打印出一...
    99+
    2023-06-22
  • 利用Tkinter和matplotlib两种方式画饼状图的实例
    当我们学习python的时候,总会用到一些常用的模块,接下来我就详细讲解下利用两种不同的方式画饼状图。 首先利用【Tkinter】中的canvas画布来画饼状图: from tkinter import...
    99+
    2022-06-04
    两种 实例 方式
  • Python数据分析之怎么用Matplotlib绘制饼图
    这篇文章主要介绍“Python数据分析之怎么用Matplotlib绘制饼图”,在日常操作中,相信很多人在Python数据分析之怎么用Matplotlib绘制饼图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”P...
    99+
    2023-06-30
  • 如何在Python中利用matplotlib.pyplot画出函数图详解
    目录0、引言1、绘图(1)导入所需库(2)设置函数(3)plt.figure()(4)plt.plot(),plt.axhline(),plt.axvline(),plt.axhsp...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作