Python数据可视化

一:Matplotlib

import matplotlib.pyplot as plt
import numpy as np
# plt,np取别名

matplotlib常用命令:

  • plt.figure(facecolor='颜色', figsize=(a,b)) 定义画布颜色和尺寸
  • 图表标题和图例

plt.title()

plt.xlabel()

plt.ylabel()

fontsize() # 字体大小

plt.legend()

  • x,y轴刻度

plt.xticks()

plt.yticks()

plt.tick_params(bottom,left,right,top) # 坐标轴刻度显示

plt.rcParams["ytick.direction"]="in" 坐标轴短线在里面显示

  • 图表中的网格线,颜色,线的类型

plt.grid(c="grey",linestyle"--")

线型 说明
实线
—— 虚线
—. 点画线
点线

legend()图例位置调整

  • matplotlib.pyplot.legend(loc='String' or Number, bbox_to_anchor=(num1, num2))

Marker

标记 说明
‘o’
‘+’ 加号
‘*’ 星号
‘x’ 叉号
‘s’ 方形
‘d’ 菱形
‘^’ 上三角
‘v’ 下三角
‘>’ 右三角
‘<’ 左三角
‘p’ 五角形
‘h’ 六角形

颜色缩写:

线型 说明
y 黄色
m 品红色
c 青蓝色
r 红色
g 绿色
b 蓝色
w 白色
k 黑色

二:绘制折线图

实例一:读取excel文件绘制简单折线图

import matplotlib.pyplot as plt
import pandas as pd
plt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文乱码问题
plt.figure(facecolor="grey", figsize=(8, 4))  # 设置画布的大小和颜色
plt.grid(axis="y", c="grey", linestyle="-")  # 设置网格线的样式,不显示y轴
plt.title("成绩折线图", fontsize=14)
plt.xlabel("姓名", fontsize=14)
plt.ylabel("成绩", fontsize=14)# 读取excel数据
df = pd.read_excel(r'D:\Pycharm\data\student_score.xlsx', sheet_name=0)x = df["姓名"]
y1 = df["数学"]
y2 = df["语文"]
y3 = df["英语"]plt.plot(x, y1, marker="o", c="b", linestyle="--", linewidth=1)
plt.plot(x, y2, marker="s", c="r", linestyle="-.", linewidth=1)
plt.plot(x, y3, marker="p", c="g", linestyle="-", linewidth=1)
plt.legend(["数学", "语文", "英语"], loc="lower right")
plt.yticks(range(50, 150, 10))  # 设置y轴的刻度plt.show()

输出结果:

实例二:绘制正余弦函数

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文乱码问题
plt.rcParams['axes.unicode_minus']=False # 解决负号不显示问题
x1 = np.arange(0, 4*np.pi, 0.1)
y = np.sin(x1)
x2 = np.arange(0, 3.5*np.pi, 0.1)
z = np.cos(x2)
plt.plot(y, linewidth=1, c="b")
plt.plot(z, linewidth=1, c="r")
plt.legend(["sin x", "cos x"])plt.title("正、余弦函数图像", fontsize=14)
plt.show()

三:绘制柱形图

示例一:多柱状图

  • plt.bar(x, height,width,align="center",kwargs)

x:传递数值序列,指定条形图中x轴的刻度值

height:柱子的高度,y轴数据

width:条形图的宽度,默认为0.8

bottom:用于绘制堆叠条形图

align:对齐方式

kwargs:关键字参数,其他可选参数:color、alpha、label

  • plt.text(x,y,string,va,ha)

x,y:文本标签的坐标

string:标注的值

va,ha:垂直和水平的对其方式

# 绘制基本柱状图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['SimHei']
# 将坐标轴刻度线向内显示
plt.rcParams['xtick.direction'] = "in"
plt.rcParams['ytick.direction'] = "in"
plt.figure(facecolor="grey",figsize=(8, 6))
plt.grid(axis="y",linestyle="--",c="grey")
plt.title("2021年销售员业绩",fontsize=14)
plt.xlabel("月份",fontsize=14)
plt.ylabel("销量",fontsize=14)df=pd.read_excel(r'C:\Users\Desktop\销量.xlsx', sheet_name=0)
# 建立两个空列表x0,month
x0=[]
month=[]
for i in range(1,13):month.append(str(i)+"月")x0.append(i)
plt.xticks(range(1,13),month)  # 定义x轴刻度范围x=np.array(x0)  # 将列表x0转换为可以进行运算的y1=df["数学"]
y2=df["语文"]
y3=df["英语"]plt.bar(x-0.2,y1,width=0.2)
plt.bar(x,y2,width=0.2)
plt.bar(x+0.2,y3,width=0.2,alpha=0.5) # 为条形图的透明度plt.legend(["数学","英语","语文"])
plt.show()

输出结果:

实例二:个性化柱状图

import numpy as np
import pandas as pd
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.family'] = "Times New Roman"fig, ax = plt.subplots(figsize=(10, 5))
# x轴不显示 plt.gca().axes.get_xaxis().set_visible(False)
# x轴刻度不显示
ax.tick_params(axis='x', direction='in', bottom=False)
# 读取Excel文件
df = pd.read_excel(r"D:\Pycharm\data\type.xlsx", sheet_name=0)x0 = df["type"]x = np.arange(len(x0))
y1 = df[1977]
y2 = df[2001]
y3 = df[2016]
plt.bar(x-0.2, y1, color="#130074", edgecolor="k", width=0.2)
plt.bar(x, y2, color="#CB181B", edgecolor="k", width=0.2)
plt.bar(x+0.2, y3, color="w", edgecolor="k", width=0.2)ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.set_xticks(x)
ax.set_xticklabels(x0, size=10)
plt.ylabel("areas(ha)", fontsize=14)
plt.ylim(0, 250000)
plt.legend(["1977", "2001", "2016"])
plt.title("land use trend")
plt.show()

输出结果:

四:绘制饼形图

  • plt.pie(x,labels,colors,pctdistance,labeldistance,autopct,startangle,radius,center,textprops)

x:每一块饼形图比例

labels:每一块饼形图外侧显示的说明文字

colors:各块饼图的颜色

labeldistance:标记的位置

autopct:设置饼图百分比,可以使用格式化字符串或format函数

startangle:起始绘制角度,默认是x轴正方向逆时针开始绘制

radius:饼形图的半径,默认值为1

center:浮点类型列表,可选参数,默认值为(0,0)表示图表中心位置

pctdistance:饼内标签所在位置,所在饼图半径的比例

textprops:设置标签和比例文字的格式,字典类型

wedgeprops:设置饼图的宽度,边框,字典类型

实例一:基本饼形图

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.figure(figsize=(10, 6))
# 读取Excel文件
df = pd.read_excel(r"D:\Pycharm\data\JD_手机销售数据.xlsx", sheet_name=0)x = df["北京出库销量"]
labels = df["商品名称"]
plt.pie(x, autopct="%0.1f%%")
# 设置x,y轴刻度一致,保证饼形图为圆形
plt.axis("equal")
plt.title("2021年京东各手机品牌出库销售分析", fontsize=14)
plt.legend(df["商品名称"])
plt.show()

输出结果:

实例二:嵌套饼形图

import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.sans-serif'] = ['SimHei']
elements = ["面粉", "砂糖", "奶油", "草莓酱", "坚果"]weight1 = [40, 15, 20, 10, 15]
weight2 = [30, 25, 15, 20, 10]plt.pie(weight1, autopct="%0.1f%%", radius=0.7, pctdistance=0.8,textprops=dict(color="w", fontsize=12), wedgeprops=dict(width=0.3, edgecolor="w"))
plt.pie(weight2, autopct="%0.1f%%", pctdistance=0.85,textprops=dict(color="w", fontsize=12), wedgeprops=dict(width=0.3, edgecolor="w"))plt.axis("equal")
plt.legend(elements)
plt.show()

输出结果:

Python数据可视化:线型、Marker、简单折线图、多柱状图、基本饼形图与嵌套饼形图相关推荐

  1. python中数据用折线图表示_使用PyQtGraph进行Python数据可视化:绘制精美折线图(以 上证指数走势为例)...

    在前两篇文章中,我们介绍了: 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGraph进行Python数据可视化. 本篇,我们介绍使用Py ...

  2. Python数据可视化之散点图和折线图

    最近一直用到Python的matplotlib包,一些画简单的散点图和折线图的用法老是记不住,所以从最基础的地方开始,稍微总结了一下. 一.散点图 画散点图时主要用到的是scatter函数. 随机产生 ...

  3. python大量数据折线图-Python数据可视化练习:各种折线图的用法

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于python数据分析之禅 ,作者鸟哥 折线图是排列在工作表的列或行 ...

  4. python根据表格数据生成折线图_Kaggle、Python数据可视化seaborn(二):折线图

    现在您已经熟悉了编码环境,接下来学习如何制作自己的图表! 在本教程中,您将学习怎样用Python来创建专业的线形图.在接下来的练习中,您将使用您的新技能来处理真实世界的数据集. 准备好笔记本 我们首先 ...

  5. 用户数据销售额分析动态大屏看板+大屏数据可视化图表组件(折线图+圆柱图+散点图+饼图+漏斗图+雷达图+水位图)+智能web端高保真大数据动态可视化大屏看板+中国动态地图+智慧电商实时动态数据大屏看板

    作品内容:用户数据销售额分析动态大屏看板+大屏数据可视化图表组件(折线图+圆柱图+散点图+饼图+漏斗图+雷达图+水位图)+web端高保真大数据动态可视化大屏看板+中国动态地图+电商实时动态数据大屏看板 ...

  6. 在python中使用matplotlib画简单折线图

    live long and prosper 在python中安装matplotlib实现数据可视化(简单折线图) 1.安装matplotlib 在Windows平台上,试用win+R组合键打开命令行窗 ...

  7. python第三方库matplotlib绘制简单折线图

    一.绘制简单折线图 代码如下: import numpy as np import matplotlib.pyplot as plt X = [0, 1, 2, 3, 4, 5] Y = [222, ...

  8. python绘制漂亮的线_使用PyQtGraph进行Python数据可视化:绘制精美线图(以上证指数走势为例)...

    在上两篇文章中,我们介绍了: 本篇文章将介绍使用PyQtGraph绘制一个精美折线图, 在了解了基本的PyQtGraph模块绘制图形功能之后,我们通过几个常用常见的数据可视化图形来演示使用PyQtGr ...

  9. Python 数据可视化:Stack Graph 堆叠图,标准化堆叠柱形图,标准化的同时还能反应数据量大小的堆叠图(放入自写库,一行代码搞定复杂细节绘图)

    本文已在公众号 " 数据分析与商业实践 " 首发.关注一下~,更多商业数据分析案例源码等你来撩.后台回复 "堆叠图" ,即可获取本文的案例示范与包含详细注释的源 ...

  10. javaweb给数据进行设置饼图,折线图,柱状图

    1.只需要引入三个jar包如下图 然后分别有已经写好的三个绘制工具类 1.饼状图代码 package com.lisheng.util; import java.awt.Font; import ja ...

最新文章

  1. Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架
  2. vscode更改插件路径_用好这7个 VS Code 插件,效率蹭蹭涨!
  3. 三方支付(支付宝为例)
  4. java 含有package cmd_如何在命令提示符下编译运行含有Package的java文件
  5. Android实现计时与倒计时的几种方法
  6. 【java学习之路】(javaWeb【后端】篇)002.Servlet
  7. 改版更新后的领英职场不能搜索开发客户怎么办?两种方法加一个工具解决
  8. 2019第十届蓝桥杯国赛c++B组真题
  9. 【拿到offer】2020农业银行校园秋季招聘面试心得
  10. C语言2--进制和运算符
  11. 尚学堂1811期python视频_尚学堂1811期Java+架构全套视频教程 下载
  12. DXP改变字体的方法
  13. MongoDB——聚合管道之$match和$count操作
  14. 如何保障云上数据安全?一文详解云原生全链路加密
  15. 自定义浏览器起始页、主页和标签页(html+css)
  16. Tensorboard学习——mnist_with_summaries.py ---- TensorFlow可视化
  17. 国产手机启用鸿蒙系统,国产机会抛弃安卓系统?华为启用全新自研“鸿蒙”系统,你会买吗...
  18. 论文解读《Co-Correcting:Noise-tolerant Medical Image Classification via mutual Label Correction》
  19. 用递归算法,把任一给定的十进制正整数转换成八进制数输出。
  20. CentOS7 安装过程中的多盘分区功能探讨(二)

热门文章

  1. Vue3 - 组件通信(子传父)
  2. 2022-2028全球及中国假睫毛行业研究及十四五规划分析报告
  3. 第一件 免费杀毒软件下载
  4. 如何重装java tm_彻底重装JDK的方法
  5. 球球大作战显示短信服务器出错,球球大作战常见问题汇总及解决方法
  6. 男人就是要对自己狠一点
  7. 如何在微图中提取生成等高线
  8. 概率论基础知识(二) 随机变量及其分布
  9. 【普及组_在线赛】班级聚会(reuntion)
  10. SuperMap iServer服务器安全性最优做法