matplotlib常用图表

导包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')
plt.rcParams['font.sans-serif']=['simhei']

准备数据

df = pd.DataFrame(index=range(2010,2020),data=np.random.randint(100,500,(10,6)),columns=[i for i in 'abcdef'])
df = df.cumsum()

折线图

plt.figure(figsize=(20,15))    # 创建画布,定义画布的大小  宽20,高15# plt.plot(df)    # 传入DataFrame ,直接输出所有
ax=plt.plot(df.index,df['a'],'r:o',label='a')
  • 第一个参数是x坐标,第二个参数是y坐标,第三个参数是线条的样式

    • 线条样式由颜色,样式,标记点样式组成

    • 线条颜色可选: r/g/b/c/m/y/k/w

    • 线条样式可选 -/–/ : /-. 分别代表实线、虚线、点线、点划线

    • 标记点样式可选 ./,/o/v/^/s/*/D/d/x/</>/h/H/1/2/3/4/_/|

    • 线型除通过上述方法外,还可以通过关键字参数设置 linestyle或ls=’’,样式选项与上述一致

    • 可以通过关键字参数设置标记点样式 marker=’’

    • 线条颜色也可通过关键字参数设置 color或c=’’

    • label 是设置此折现图的图例标签

    • alpha 设置透明度

plt.plot(df.index,df['b'],'g-.*',label='b',markersize='9')
# 在同一个代码行中,会默认将图形绘制在同一画布上
plt.plot(df.index,df['c'],'c--d',label='c',markersize='9')
# markersize 设置标记点大小# 显示图例标签
plt.legend()
# 设置x轴坐标轴显示
plt.xticks(range(2010,2020),['{}年'.format(i) for i in range(2010,2020)],fontproperties='stkaiti',fontsize=15,rotation=45)
# 如果坐标轴上的刻度是字符串类型,只能通过第二个位置参数或者labels=[] 关键字参数
# fontproperties可以设置字体,fontsize设置字体大小
# rotation 设置旋转角度
# 设置x轴的标签
plt.xlabel('年份',fontproperties='stkaiti',fontsize=20)  # 设置y轴刻度的显示范围
plt.ylim(100,3500)                             # 设置标题
plt.title('这是标题',fontproperties='simhei',fontsize=50)# 设置网格
plt.grid(ls='--')# 注释箭头,s注释文字,xy箭头位置。xytext注释位置,arrowprops箭头类型
plt.annotate(s='哈哈哈',xy=(2011,1000),xytext=(2012,1200),fontproperties='simhei',fontsize=20,arrowprops=dict(arrowstyle='->'))# 注释箭头
plt.annotate(s='嘿嘿黑',xy=(2015,1900),xytext=(200,200),textcoords='offset points',             fontproperties='simhei',fontsize=20,arrowprops=dict(arrowstyle='->'))
# 如果指定textcoords='offset points',xytext是像素增量
# 显示图形
plt.show()

柱状图

plt.figure(figsize=(20,16))                            # 设置画布大小
plt.bar(df1.index,height=df1,width=0.5,color='r',label='e')
# 柱状图绘制 第一位置参数是x坐标位置序列,第二个位置参数是y坐标位置序列,
# width关键字参数是柱状图的宽度,color关键字参数是设置颜色,
# hatch是设置填充图案,样式与折线图的标记点样式一致
plt.plot(df.index,df['b'],'g--o')
# 可以在画布上加其他图形
for i,j in zip(df.index,df['b']):plt.annotate(j,xy=(i,j),xytext=(-15,10),textcoords='offset points',color='g')
for i,j in zip(df1.index,df1):
# 循环给每个柱状设置数值,适用于所有图形
# 方法1
#     plt.text(i-0.1,j+10,'{}'.format(j))                                             # 方法2  plt.annotate(j,xy=(i,j),xytext=(-15,10),textcoords='offset points',color='r',arrowprops=dict(arrowstyle='->'))
# 图例
plt.legend(loc='upper left',title='图例')
plt.xticks(range(2010,2020),['{}年'.format(i) for i in range(2010,2020)],fontproperties='stkaiti',fontsize=20,rotation=45)
plt.xlabel('x坐标轴',fontproperties='simhei',fontsize=40)
plt.ylabel('y坐标轴',fontproperties='simhei',fontsize=40)
plt.grid(linestyle=':')
plt.show()

饼图

plt.figure(figsize=(20,16))
plt.pie(df['f'],labels=df.index,autopct='%.1f%%',colors=['r','g','b','c','m','y','k'])
# 第一个参数是数据
# labels 是标签列表
# autopct 是个分区的占比   %.1f%%  安百分比显示,保留小数点后一位
# colors 是用到的颜色
plt.title('这是标题',fontsize=40)
plt.xlabel('图名',fontsize=30)
plt.show()

雷达图

plt.figure(figsize=(20,16))angles=list(np.linspace(0,2*np.pi,len(df['f']),endpoint=False))     # 准备极坐标
angles.append(angles[0])                                             # 行程闭环values = list(df['f'])                                               # 准备数据
values.append(values[0])                                             # 数据形成闭环plt.polar(angles,                                                             # 第一个参数是极坐标    values,                                                              # 第二个参数是值'b--D',                                                              # 线条颜色、线性、标记点linewidth=2)                                                         # 线性宽度
plt.thetagrids([i*180/np.pi for i in angles],[f'{i}年' for i in df.index])   # 设置轴线,以及轴线的标签;注意,必须在polar之后设置才有效
plt.fill(angles,values,facecolor='g',alpha=0.6)                                # 填充环形区域
plt.xlabel('这是雷达图',fontdict={'fontsize':30,})for i,j in zip(angles[:-1],values[:-1]):                                      # 给每个交点添加标签plt.annotate(j,xy=(i,j),xytext=(-10,10),textcoords='offset points')       # 第一个参数是s 是标签的内容# xy 是交点的位置# xytext 是标签的偏移位置
plt.show()

散点图

df2 = pd.DataFrame(np.random.randint(10,100,(100,3)),columns=['A','B','size'])color = [str(i) for i in range(9)] + [i for i in 'ABCDEF']
df2['colors']=["#"+''.join(random.choices(color,k=6)) for i in range(len(df2))]
plt.figure(figsize=(20,18))
plt.scatter(x=df2['A'],y=df2['B'],marker='o',s=df2['size'],c=df2['colors'])
"""
x:x轴,y:y轴,marker:标记点样式,s:size,c:color
"""
plt.show()

多个图显示在一张

fig,ax = plt.subplots(2,2,figsize=(20,16))
ax[0,0].plot(df.index,df['a'],'r:o',label='a')
ax[0,1].bar(df1.index,df1,width=0.5,color='b',label='e')
ax[1,0].pie(df['c'],labels=df.index,autopct='%.1f%%')
ax[1,1].scatter(x=df2['A'],y=df2['B'],marker='o',s=df2['size'],c=df2['colors'])
plt.show()

三维图

import mpl_toolkits.mplot3dx = np.random.randint(0,40,10)
y = np.random.randint(0,40,10)
z = 80*abs(np.sin(x+y))
plt.figure(figsize=(20,15))
ax = plt.subplot(projection='3d')
ax.bar3d(x,                    # x轴数据y,                    # y 轴数据0,                    # z轴数据 dx=1,                  # x方向宽度dy=1,                  # y方向宽度dz=z,                  # z 方向宽度color='r'              # 颜色)
ax.set_xlabel('x')plt.show()

matplotlib 几种常用的图表使用方法总结相关推荐

  1. 几种常用的像素混合方法

    前两天为大家介绍了处理透明光影效果的 Alpha-Blending 技术,今次我将再为大家介绍其它几种常用的像素混合方法,这些方法一般在游戏中被用来处理光影效果. 『Alpha-Blending』 前 ...

  2. 10种常用的网络营销方法

    网络营销产生于20世纪90年代,发展至今已演变出越来越多的营销方法,在国内随着互联网影响的进一步扩大,人们对网络营销认知的进一步加深,网络营销方法手段也是各种推陈出新,下面就介绍如今网络营销最常用的1 ...

  3. **10种常用的网络营销方法**

    **10种常用的网络营销方法** 网络营销产生于20世纪90年代,发展至今已演变出越来越多的营销方法,在国内随着互联网影响的进一步扩大,人们对网络营销认知的进一步加深,网络营销方法手段也是各种推陈出新 ...

  4. 计算机中十二种常用密码的破解方法(转)

    计算机中十二种常用密码的破解方法(转)[@more@] 在日常操作中,我们经常要输入各种各样的密码,例如开机时要输入密码,QQ时也要先输入密码,假如你忘记了这些密码,就有可能用不了机器.打不开文件.不 ...

  5. 特征工程:8种常用类别型数据处理方法

    8种常用类别型数据处理方法

  6. 产品经理懂点技术:几种常用的系统开发方法

    常用的系统开发方法有: 结构化系统开发方法 原型法 面向对象方法 计算机辅助软件工程方法 下面一一为大家详细介绍: 1 结构化系统开发方法 结构化系统开发方法(Structured System An ...

  7. 几种常用时钟分频实现方法

    在我们学习中,常常需要对时钟进行分频处理,本文将介绍几种常用分频方法. 一.2的整数次幂分频 这种分频很简单,只需要设置一个计数器,对计数器进行计数,计数器的第i位则对应的2的i-1次幂分频.此方法适 ...

  8. 几种常用的数组遍历方法

    整理一下常用的几种遍历方法,for和while循环就不再说了,说一下其他几种非常好用的方法 1.for in  for in可定是接触比较早的遍历数组的方法,其实它也可遍历对象(遍历字符串也是可以的! ...

  9. 几种常用的文件加密方法

    下文是中软通用产品研发中心陈尚义根据http://blog.sina.com.cn/s/blog_611c36a80100gch7.html?tj=1编译. 每个人的电脑硬盘中都会有一些个人隐私或秘密 ...

最新文章

  1. 哲学家就餐问题c语言_哲学家就餐问题的一种Python解决方案
  2. python ssh登陆模块_Python sshh包_程序模块 - PyPI - Python中文网
  3. spring Boot Actuator使用
  4. 征战蓝桥 —— 2015年第六届 —— C/C++A组第5题——九数组分数
  5. between and 效率_科学家改进植物光合作用,使植物光合效率提高40%
  6. 【Python】pyinstaller模块打包的exe在windows环境无法使用问题汇总
  7. Python字符串常用操作方法
  8. Arnold for Cinema 4D for mac(C4D R26阿诺德渲染器)
  9. 《Python学习手册》——使用入门
  10. CUDA库之NPP(二):NPP实现YUV转BGR
  11. c语言文件读不同格式,c语言文件的读写格式
  12. IntelliJ IDEA破解
  13. Spring(26)——PathMatchingResourcePatternResolver
  14. 死磕 Fragment 的生命周期
  15. Microsoft软件保护平台服务一直占用大量CPU资源
  16. BT服务器的搭建(tracker-P2P服务器架设)(转)
  17. java字符串转biginteger_java-将十六进制转换为BigInteger
  18. linux写日志文件
  19. 新闻丨“爆款“企业级区块链云服务平台专家评审 智链ChainNova为何深藏不露
  20. Kotlin for 循环写法整理

热门文章

  1. Java Web RBAC权限管理
  2. SICK激光传感器Tim561使用说明
  3. HTML简单内容小结(1)
  4. 破解锐捷3.35-0618的密码
  5. Linux中复制前10kb的数据,linux基本操作
  6. 认证、认可、检验检测分不清?这篇必看
  7. hellon world
  8. python解释器的提示符号是什么_python解释器的提示符是什么
  9. Chief Ray and Margin Ray and Principle Ray(主光线和边缘光线)
  10. react native友盟app统计