python使用Matplotlib绘制多种常见图形

目录
  • 柱状图
  • 水平绘制柱状图
  • 多个柱状图
  • 叠加型柱状图
  • 散点图
  • 气泡图
  • 直方图
  • 箱线图
  • 添加文字描述
  • 添加文字描述 方法二
  • 多个图形描绘 subplots
  • 使用Pandas 绘图

Matplotlib官网如果想了解更多可查看官网。

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline #写了这个就可以不用写plt.show()
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
X = np.linspace(0, 2*np.pi,100)# 均匀的划分数据
Y = np.sin(X)
Y1 = np.cos(X)
plt.title("Hello World!!")
plt.plot(X,Y)
plt.plot(X,Y1)

X = np.linspace(0, 2*np.pi,100)
Y = np.sin(X)
Y1 = np.cos(X)
plt.subplot(211) # 等价于 subplot(2,1,1)  #一个图版画两个图
plt.plot(X,Y)
plt.subplot(212)
plt.plot(X,Y1,color = 'r')

柱状图

data = [5,25,50,20]
plt.bar(range(len(data)),data)

水平绘制柱状图

data = [5,25,50,20]
plt.barh(range(len(data)),data)

多个柱状图

data = [[5,25,50,20],
        [4,23,51,17],
        [6,22,52,19]]
X = np.arange(4)
plt.bar(X + 0.00, data[0], color = 'b', width = 0.25,label = "A")
plt.bar(X + 0.25, data[1], color = 'g', width = 0.25,label = "B")
plt.bar(X + 0.50, data[2], color = 'r', width = 0.25,label = "C")
# 显示上面设置的 lable
plt.legend()

叠加型柱状图

data = [[5,25,50,20],
        [4,23,51,17],
        [6,22,52,19]]
X = np.arange(4)
plt.bar(X, data[0], color = 'b', width = 0.25)
plt.bar(X, data[1], color = 'g', width = 0.25,bottom = data[0])
plt.bar(X, data[2], color = 'r', width = 0.25,bottom = np.array(data[0]) + np.array(data[1]))
plt.show()

散点图

N = 50
x = np.random.rand(N)
y = np.random.rand(N)
plt.scatter(x, y)

气泡图

N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.randn(N) # 颜色可以用数值表示
area = np.pi * (15 * np.random.rand(N))**2  #  调整大小
plt.scatter(x, y, c=colors, alpha=0.5, s = area)

N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.randint(0,2,size =50)
plt.scatter(x, y, c=colors, alpha=0.5,s = area)

直方图

a = np.random.rand(100)
plt.hist(a,bins= 20)
plt.ylim(0,15)

a = np.random.randn(10000)
plt.hist(a,bins=50)
plt.title("标准正太分布")

箱线图

x = np.random.randint(20,100,size = (30,3))
plt.boxplot(x)
plt.ylim(0,120)
# 在x轴的什么位置填一个 label,我们这里制定在 1,2,3 位置,写上 A,B,C
plt.xticks([1,2,3],['A','B','C'])
plt.hlines(y = np.median(x,axis = 0)[0] ,xmin =0,xmax=3)

添加文字描述

# 设置画布颜色为 blue
fig, ax = plt.subplots(facecolor='blue')
# y 轴数据
data = [[5,25,50,20],
        [4,23,51,17],
        [6,22,52,19]]
X = np.arange(4)
plt.bar(X+0.00, data[0], color = 'darkorange', width = 0.25,label = 'A')
plt.bar(X+0.25, data[1], color = 'steelblue', width = 0.25,label="B")
plt.bar(X+0.50, data[2], color = 'violet', width = 0.25,label = 'C')
ax.set_title("Figure 2")
plt.legend()

# 添加文字描述 方法一
W = [0.00,0.25,0.50]
for i in range(3):
    for a,b in zip(X+W[i],data[i]):
        plt.text(a,b,"%.0f"% b,ha="center",va= "bottom")
plt.xlabel("Group")
plt.ylabel("Num")
plt.text(0.0,48,"TEXT")

添加文字描述 方法二

X = np.linspace(0, 2*np.pi,100)# 均匀的划分数据
Y = np.sin(X)
Y1 = np.cos(X)
plt.plot(X,Y)
plt.plot(X,Y1)
plt.annotate('Points',
         xy=(1, np.sin(1)),
         xytext=(2, 0.5), fontsize=16,
         arrowprops=dict(arrowstyle="->"))

plt.title("这是一副测试图!")

多个图形描绘 subplots

%pylab inline
pylab.rcParams['figure.figsize'] = (10, 6) # 调整图片大小
# np.random.seed(19680801)
n_bins = 10
x = np.random.randn(1000, 3)
fig, axes = plt.subplots(nrows=2, ncols=2)
ax0, ax1, ax2, ax3 = axes.flatten()
colors = ['red', 'tan', 'lime']
ax0.hist(x, n_bins, normed=1, histtype='bar', color=colors, label=colors)
ax0.legend(prop={'size': 10})
ax0.set_title('bars with legend')
ax1.hist(x, n_bins, normed=1, histtype='bar', stacked=True)
ax1.set_title('stacked bar')
ax2.hist(x, n_bins, histtype='step', stacked=True, fill=False)
ax2.set_title('stack step (unfilled)')
# Make a multiple-histogram of data-sets with different length.
x_multi = [np.random.randn(n) for n in [10000, 5000, 2000]]
ax3.hist(x_multi, n_bins, histtype='bar')
ax3.set_title('different sample sizes')

使用Pandas 绘图

import pandas as pd
df = pd.DataFrame(np.random.rand(50, 2), columns=['a', 'b'])
# 散点图
df.plot.scatter(x='a', y='b')

df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])
# 绘制柱状图
df.plot.bar()

# 堆积的柱状图
df.plot.bar(stacked=True)

# 水平的柱状图
df.plot.barh(stacked=True)

df = pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])
# 直方图
df.plot.hist(bins=20)

# 箱线图
df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
df.plot.box()

到此这篇关于python使用Matplotlib绘制多种常见图形的文章就介绍到这了,更多相关Matplotlib绘制图图形内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python matplotlib超详细教程实现图形绘制

    目录 前言 1. matplotlib.patches概述 2. 绘制图形方法 3. 绘制图形步骤 4. 绘制图形属性 设置透明度 设置颜色 5. 小试牛刀 前言 我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图.柱状图.饼图.直方图等统计图表的相关方法,列举往期文章如下. Python利用 matplotlib 绘制直方图 Python用 matplotlib 绘制柱状图 python 用matplotlib绘制折线图详情 Python利用matp

  • Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)

    Python的matplotlib模块绘制图形功能很强大,今天就用pyplot绘制一个简单的图形,图形中包括曲线.曲线上的点.注释和指向点的箭头. 1. 结果预览: 2. 代码如下: from matplotlib import pyplot as plt import numpy as np # 绘制曲线 x = np.linspace(2, 21, 20) # 取闭区间[2, 21]之间的等差数列,列表长度20 y = np.log10(x) + 0.5 plt.figure() # 添加一

  • python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】

    本文实例讲述了python matplotlib模块基本图形绘制方法.分享给大家供大家参考,具体如下: matplotlib模块是python中一个强大的绘图模块 安装 pip  install matplotlib 首先我们来画一个简单的图来感受它的神奇 import numpy as np import matplotlib.pyplot as plt import matplotlib zhfont1=matplotlib.font_manager.FontProperties(fname

  • python通过Matplotlib绘制常见的几种图形(推荐)

    目录 python通过Matplotlib绘制常见的几种图形 一.使用matplotlib对几种常见的图形进行绘制 1.柱状图 2.水平绘制柱状图 3.多个柱状图 4.叠加型柱状图 5.散点图 6.气泡图 7.直方图 8.箱线图 二.添加文字描述 1.文字描述一 2.文字描述二 三.多个图形描绘 subplots 四.使用Pandas 绘图 1.散点图 2.绘制柱状图 3.堆积的柱状图 4.水平的柱状图 5.直方图 6.箱线图 python通过Matplotlib绘制常见的几种图形 一.使用ma

  • Python可视化Matplotlib介绍和简单图形的绘制

    目录 1. 什么是Matplotlib 2. 实现一个最简单的Matplotlib画图以折线图为例 2.1 matplotlib.pyplot模块 2.2 图形绘制流程 1.创建画布 – plt.figure() 2.绘制图像 – plt.plot(x, y) 3.显示图像 – plt.show() 2.3 折线图绘制与显示 1. 什么是Matplotlib matplotlib是专门用于开发2D图表(包括3D图表),以渐进.交互式方式实现数据可视化.使用python对matplotlib库操作

  • Python使用matplotlib绘制多个图形单独显示的方法示例

    本文实例讲述了Python使用matplotlib绘制多个图形单独显示的方法.分享给大家供大家参考,具体如下: 一 代码 import numpy as np import matplotlib.pyplot as plt #创建自变量数组 x= np.linspace(0,2*np.pi,500) #创建函数值数组 y1 = np.sin(x) y2 = np.cos(x) y3 = np.sin(x*x) #创建图形 plt.figure(1) ''' 意思是在一个2行2列共4个子图的图中,

  • Python数据可视化之用Matplotlib绘制常用图形

    一.散点图 散点图用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式. 特点:判断变量之间是否存在数量关联趋势,表示离群点的分布规律. 散点图绘制: plt.scatter(x,y) # 以默认的形状颜色绘制散点图 实例: 假设我们获取到了上海2020年5,10月份每天白天的最高气温(分别位于列表a.b),那么此时如何观察气温和随时间变化的某种规律. # 绘制图形所需的数据 y_5 = [11,17,16,11,12,11,12,13,10,14,8

  • python使用Matplotlib绘制多种常见图形

    目录 柱状图 水平绘制柱状图 多个柱状图 叠加型柱状图 散点图 气泡图 直方图 箱线图 添加文字描述 添加文字描述 方法二 多个图形描绘 subplots 使用Pandas 绘图 Matplotlib官网如果想了解更多可查看官网. import numpy as np import matplotlib.pyplot as plt %matplotlib inline #写了这个就可以不用写plt.show() plt.rcParams['font.sans-serif']=['SimHei']

  • Python使用matplotlib绘制余弦的散点图示例

    本文实例讲述了Python使用matplotlib绘制余弦的散点图.分享给大家供大家参考,具体如下: 一 代码 import numpy as np import pylab as pl a = np.arange(0,2.0*np.pi,0.1) b = np.cos(a) #绘制散点图 pl.scatter(a,b) pl.show() 二 运行结果 三 修改散点符号代码 import numpy as np import pylab as pl a = np.arange(0,2.0*np

  • Python使用matplotlib绘制三维图形示例

    本文实例讲述了Python使用matplotlib绘制三维图形.分享给大家供大家参考,具体如下: 用二维泡泡图表示三维数据 泡泡的坐标2维,泡泡的大小三维,使用到的函数 plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5, edgecolors = C, facecolors='None') 其中P[:,0], P[:,1]为泡泡的坐标数据,s为泡泡的大小,lw为泡泡的边线宽度,edgecolors为边线颜色,facecolors为填充颜色 代码及注释 # -*-

  • Python使用matplotlib绘制动画的方法

    本文实例讲述了Python使用matplotlib绘制动画的方法.分享给大家供大家参考.具体分析如下: matplotlib从1.1.0版本以后就开始支持绘制动画 下面是几个的示例: 第一个例子使用generator,每隔两秒,就运行函数data_gen: # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig =

  • Python通过matplotlib绘制动画简单实例

    Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等. matplotlib从1.1.0版本以后就开始支持绘制动画,具体使用可以参考官方帮助文档.下面是一个很基本的例子: """ A simple example of an animated plot """ import n

  • Python使用matplotlib绘制正弦和余弦曲线的方法示例

    本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法.分享给大家供大家参考,具体如下: 一 介绍 关键词:绘图库 官网:http://matplotlib.org 二 代码 import numpy as np import matplotlib.pyplot as plt #line x=np.linspace(-np.pi,np.pi,256,endpoint=True) #定义余弦函数正弦函数 c,s=np.cos(x),np.sin(x) plt.figure(1)

  • Python使用matplotlib实现交换式图形显示功能示例

    本文实例讲述了Python使用matplotlib实现交换式图形显示功能.分享给大家供大家参考,具体如下: 一 代码 from random import choice import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import RadioButtons,Button t = np.arange(0.0,2.0,0.01) s0 = np.sin(2*np.pi*t) s1 = np.sin(

随机推荐