1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

目录

一、使用plot()绘制直线图

1. 代码实例:绘制直线图

二、使用plot()绘制折线图

1. 代码实例1:绘制折线图

2. 代码实例2:绘制折线+曲线

三、使用bar()绘制柱状图

1. 代码实例1: 单列柱状图绘制

2. 代码实例2:双列条形图绘制

3. 代码实例3:数据对比柱状图绘制

四、使用bath()绘制条形图

1. 代码实例 1:绘制单列条形图

2. 代码实例2:绘制双列条形图

五、使用pie()绘制饼图

1. 代码实例1:绘制十等分饼图

2. 代码实例2: 不同数据饼图绘制

六、使用scatter()绘制散点图

1. 代码实例1: 绘制sin散点图

2. 代码实例2:双数据散点图绘制

七、使用subplot()绘制子图

1. 代码实例1:通过plt的subplot绘制子图

2. 代码实例2:通过figure的add_subplot绘制子图

3. 代码实例3:多个函数的子图绘制

一、使用plot()绘制直线图

1. 代码实例:绘制直线图

import matplotlib.pyplot as plt
x=[1, 2, 3, 4, 5]
y=[2, 4, 6, 8, 10]
plt.plot(x, y)
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

二、 使用plot()绘制 折线图

1. 代码实例1:绘制折线图

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9,10]
y = [1,4,2,3,5,2,9,5,8,6]
plt.plot(x, y)    # 展示的数据
plt.show()        # 数据展示

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

2. 代码实例2:绘制折线+曲线

import numpy as np
import matplotlib.pyplot as plt
plt.figure(dpi=130)   # 设置绘图窗口的大小

plt.rcParams['font.sans-serif'] = 'SimHei'  # 中文显示
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(0, 2*np.pi, 100)    # 产生100个0到2π之间的元素
y = np.sin(x) + np.random.rand(100)

plt.plot(x, y,'r')    # 折线图绘制
plt.plot(x, np.sin(x),'g')  # sin(x)的曲线绘制
plt.legend(['折线', 'sin曲线'])    # 设置图表的图例
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

三、使用bar()绘制柱状图

1. 代码实例1: 单列柱状图绘制

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6]
y = [6, 5, 4, 3, 2, 1]
plt.bar(x,y, width = 0.8, align = 'center', color = 'blue')
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

2. 代码实例2:双列条形图绘制

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(3)
y = [2, 6, 3]
y1 = [6, 10, 4]

bar_width = 0.4
tick_label = ["A", "B", "C"]
plt.bar(x, y, align="center", color="c",width=bar_width,label="title_A",alpha=0.5)
plt.bar(x+bar_width, y1, align="center",color="b",width=bar_width,label="title_B",alpha=0.5)
plt.xticks(x+bar_width/2, tick_label)
plt.legend()
plt.show()

3. 代码实例3:数据对比柱状图绘制

import numpy as np
import matplotlib.pyplot as plt

plt.figure(figsize=(9, 5))  # 绘制绘图窗口的大小

中文显示
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

设置图表数据
x = range(15)
np.random.seed(123)
y1 = np.random.random(15)
y2 = np.random.random(15)

绘制柱状图
plt.bar(x, y1, facecolor='#FFF68F')
plt.bar(x, -y2, facecolor='#9999FF')

柱状图注释设置
for i, j in zip(x, y1):
    plt.text(i, j, '%.2f' % j, ha='center', va='bottom')
for i, j in zip(x, y2):
    plt.text(i, -j, '%.2f' % j, ha='center', va='top')

plt.ylim(-1.2, 1.2)  # 设置Y轴的范围
plt.title('数据对比')
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

四、使用bath()绘制条形图

1. 代码实例 1:绘制单列条形图

import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [60, 25, 78, 50]
plt.barh(x, y, align = 'center', color = 'blue')
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

2. 代码实例2:绘制双列条形图

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(4)
y = [6,10,4,5]
y1 = [2,6,3,8]

bar_width = 0.4
tick_label = ["A","B","C","D"]

plt.barh(x,y,bar_width,align="center",color="c",label="title_A",alpha=1)
plt.barh(x+bar_width,y1,bar_width,align="center",color="b",label="title_B",alpha=1)
plt.yticks(x+bar_width/2,tick_label)
plt.legend()
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

五、使用pie()绘制饼图

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

1. 代码实例1:绘制十等分饼图

import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(5, 5))   # 设置绘图窗口

z = np.ones(10)      # 设置一个十等份的数据
plt.pie(z, autopct='%.2f%%', explode=[0.1] + [0]*9, labels=list('ABCDEFGHIJ'), labeldistance=1.1)
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

2. 代码实例2: 不同数据饼图绘制

import matplotlib.pyplot as plt

plt.figure(figsize=(5, 5))
x = [25, 45, 69, 30, 80, 12]

plt.pie(x, autopct='%.2f%%', labels=list('ABCDEF'))
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

六、使用scatter()绘制散点图

1. 代码实例1: 绘制sin散点图

import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(9, 5))    # 绘制绘图窗口的大小

plt.rcParams['font.sans-serif'] = 'SimHei'  # 中文显示
plt.rcParams['axes.unicode_minus'] = False

x = np.linspace(0, 2*np.pi, 100)   # 产生100个0到2π之间的元素
y = np.sin(x) + np.random.rand(100)

plt.title('sin散点图')
plt.scatter(x, y)
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

2. 代码实例2:双数据散点图绘制

import numpy as np
import matplotlib.pyplot as plt

x1 = np.random.randn(20)
x2 = np.random.randn(20)
plt.figure(1)
plt.plot(x1, 'bo', markersize=20)
plt.plot(x2, 'ro', ms=10,)
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

七、使用subplot()绘制子图

1. 代码实例1:通过plt的subplot绘制子图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

画第1个子图:折线图
x=np.arange(1,100)
plt.subplot(221)   # 第一行第一个子图
plt.plot(x,x*x)

画第2个子图:散点图
plt.subplot(222)  # 第一行第二个子图
plt.scatter(np.arange(0,10), np.random.rand(10))

画第3个子图:饼图
plt.figure(figsize=(7, 7))
plt.subplot(223)   # 第二行第一个子图
plt.pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f%%',explode=[0,0.05,0,0])

画第4个子图:条形图
plt.subplot(224)   # 第二行第二个子图
plt.bar(['a','b','c','d','e'],[20,15,35,25,20],color='r')
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

2. 代码实例2:通过figure的add_subplot绘制子图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

fig=plt.figure(figsize=(7, 7))

画第1个图:折线图
x=np.arange(1,100)
ax1=fig.add_subplot(221)
ax1.plot(x,x*x)

画第2个图:散点图
ax2=fig.add_subplot(222)
ax2.scatter(np.arange(0,10), np.random.rand(10))

画第3个图:饼图
ax3=fig.add_subplot(223)
ax3.pie(x=[15,30,45,10],labels=list('ABCD'),autopct='%.0f%%',explode=[0,0.05,0,0])

画第4个图:条形图
ax4=fig.add_subplot(224)
ax4.bar(['a','b','c','d','e'],[20,15,35,25,20],color='r')
plt.show()

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

3. 代码实例3:多个函数的子图绘制

coding=utf-8
import numpy as np
import matplotlib.pyplot as plt

创建一个两行两列的图表, ax表示每一个子图,是一个两行两列的矩阵
fig, ax = plt.subplots(2, 2, sharex=False, sharey=False)

在第1行第1列(ax[0][0])绘制正弦曲线
x = np.arange(-2 * np.pi, 2 * np.pi, 0.2)
sin_x = np.sin(x)
ax[0][0].plot(x, sin_x)
ax[0][0].set(title='y = sin(x)')

在第1行第2列绘制正弦曲线
cos_x = np.cos(x)
ax[0][1].plot(x, cos_x, 'r')
ax[0][1].set(title='y = cos(x)')

在第2行第1列绘制对数曲线
x = np.arange(1, 100, 0.01)
log_x = np.log(x)
ax[1][0].plot(x, log_x, 'g')
ax[1][0].set(title='y = log(x)')

在第2行第2列绘制指数曲线
x = np.arange(-1, 1, 0.01)
exp_x = np.exp(x)
ax[1][1].plot(x, exp_x, 'y')
ax[1][1].set(title='y = exp(x)')

调整子图之间的距离,wspace:为水平间隔百分比,hspace为垂直间隔百分比
plt.subplots_adjust(wspace=0.4, hspace=0.6)  # 调整子图间距
plt.savefig('subplot.png')   # 保存图表
plt.show()    # 显示图表

1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

Original: https://blog.csdn.net/weixin_44940488/article/details/117328478
Author: 简时刻
Title: 1 使用matplotlib的python数据可视化——简单图表的绘制(线形图、柱形图、饼图、条形图、散点图和子图)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/768804/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球