matplotlib画折线图、直方图、饼图、散点图等常见图形

简介: matplotlib画折线图、直方图、饼图、散点图等常见图形

Matplotlib简介


Matplotlib 是一个 Python 的 2D绘图库。通过 Matplotlib,开发者 可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形 图,错误图,散点图等。


置中文标题


Matplotlib 默认情况不支持中文,我们可以使用以下简单的方法来 解决:

plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签

折线图

from matplotlib import pyplot as plt
#准备数据
max_temperature = [26, 30, 20, 32, 25]
min_temperature = [12, 16, 16, 28, 20]
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
#生成x
x =range(5)
#xticks(x,x_ticks)
x_ticks = [f'星期{i}' for i in range(1,6)]
plt.xticks(x,x_ticks)
#给y轴添加名称
plt.ylabel('温度:单位(℃)')
#添加标题
plt.title('某年某月第N周的温度')
plt.plot(x,max_temperature,label='最高温度')
plt.plot(x,min_temperature,label='最低温度')
#添加图例
# plt.legend(loc=4)
plt.legend(loc='upper right')

直方图

# 获取数据
data = [45, 49, 42, 42, 36, 37, 31, 38, 35,
39, 43, 33, 34, 36, 35, 36, 34, 32, 36, 32,
37, 33, 32, 38, 35]
# 设置组距
bin_width = 2
# 设置分组
bin_count = int((max(data) - min(data)) /
bin_width)
# 设置x轴标签位置
x = range(bin_count)
x_ticks = range(31, 50, 2)
# 设置x轴标签的值
plt.xticks(x_ticks)
# 填充数据
plt.hist(data, bin_count)

饼图

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
#准备男、女的人数及比例
man=71351
woman=68187
#计算男生女生所占的比
man_perc = man /(man+woman)
woman_perc = woman /(man+woman)
labels = ['男','女']
# colors = ['blue','red']
#调用pie绘制饼图 传入一个列表,列表中是比例数据
paches,texts,autotexts = plt.pie([man_perc,woman_perc],
         autopct='%0.1f%%',
         labels=labels,
         explode =(0,0.1)
         )
#设置字体大小和颜色
for text in autotexts:
    text.set_color('white')
    text.set_fontsize(24)
for t in texts:
    t.set_color('white')
    t.set_fontsize(24)

散点图

import matplotlib.pyplot as plt
import numpy as np
# 绘制不同大小不同颜色的散点图
np.random.seed(0)
x=np.random.rand(100)
y=np.random.rand(100)
colors=np.random.rand(100)
size=np.random.rand(100)*1000
plt.scatter(x,y,c=colors,s=size,alpha=0.7)
plt.show()

箱线图

from matplotlib import pyplot as plt
import numpy as np
#准备数据
data = [np.random.normal(0,i,100) for i in range(1,4)]
#调用 boxplot()
#vert:是竖着还是横着
#notch:切口 更好找到中位数
plt.boxplot(data,vert=True,notch=True)
plt.title('boxplot')
plt.xticks([1,2,3],['box1','box2','box3'])

三维图

from matplotlib import pyplot as plt
import numpy as np
#准备数据
x = np.linspace(-10,10,100)
y = np.linspace(-10,10,100)
#计算x y 的相交点 
X,Y = np.meshgrid(x,y)
#计算Z
Z = np.sqrt(X**2+Y**2)
#绘制三维图
# plt.contour(X,Y,Z)
plt.contourf(X,Y,Z)
#三维画布绘制三维图
from mpl_toolkits.mplot3d import Axes3D
figure = plt.figure()
ax3d = Axes3D(figure)
ax3d.plot_surface(X,Y,Z)

条形图

from matplotlib import pyplot as plt
import numpy as np
#准备数据
x = range(3)
x_label = ['bar1','bar2','bar3']
y = [1,2,3]
#波动
variance= [0.2,0.4,0.5]
#绘制柱形图
plt.bar(x,y,width=0.5,yerr=variance)
plt.xticks(x,x_label)
#设置y轴坐标的范围
m = max(zip(y,variance))
maxy = (m[0]+m[1])*1.2
plt.ylim([0,maxy])

目录
相关文章
|
30天前
|
Python
Matplotlib 教程 之 Matplotlib 散点图 1
通过设置参数如点的大小(`s`)、颜色(`c`)和样式(`marker`)等,可以定制图表外观。示例展示了如何用两个长度相同的数组分别表示 x 和 y 轴的值来创建基本散点图。
40 12
|
23天前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 直方图 2
使用 Matplotlib 的 `hist()` 方法绘制直方图,通过实例展示了如何比较多组数据的分布。`hist()` 方法属于 Matplotlib 的 pyplot 子库,能有效展示数据分布特性,如中心趋势和偏态。示例中通过生成三组正态分布的随机数据并设置参数(如 bins、alpha 和 label),实现了可视化比较。
22 3
|
23天前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 饼图 5
使用 Matplotlib 的 `pie()` 方法绘制饼图,通过参数设置(如颜色、标签和比例等),轻松展示各类别占比。示例代码展示了如何创建一个具有突出部分的彩色饼图并显示百分比。`pie()` 方法支持多种参数定制,包括阴影、旋转角度及文本属性等。
37 3
|
24天前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 饼图 4
使用 Matplotlib 的 `pie()` 方法绘制饼图,展示各部分占比。`pie()` 方法可通过多个参数定制图表样式,如颜色、标签和百分比显示格式等。通过实例演示了如何突出显示特定扇区并格式化百分比输出。
22 4
|
22天前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 直方图 4
使用 Matplotlib 库中的 `hist()` 方法绘制直方图,该方法可用于展示数据分布情况,如中心趋势、偏态及异常值等。通过实例演示了如何设置柱子数量 (`bins` 参数) 并配置图形标题与坐标轴标签。`hist()` 方法接受多个参数以自定义图表样式,包括颜色、方向及是否堆叠等。
23 1
|
27天前
|
搜索推荐 Python
Matplotlib饼图实例
Matplotlib饼图实例
17 4
|
25天前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 饼图 1
使用 Matplotlib 库中的 `pyplot` 模块 `pie()` 方法来绘制饼图,并详细解释了 `pie()` 方法的参数,包括数据输入 `x`、扇区间距 `explode`、标签 `labels`、颜色 `colors`、百分比格式 `autopct`、标签距离 `labeldistance`、阴影 `shadow`、半径 `radius`、起始角度 `startangle`、逆时针方向 `counterclock`、扇形属性 `wedgeprops`、文本标签属性 `textprops`、饼图中心位置 `center`
18 1
|
28天前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 散点图 7
使用 Matplotlib 的 `scatter()` 方法绘制散点图。该方法接受多个参数,如 x 和 y 数据点、点的大小(s)、颜色(c)和样式(marker)等。通过示例展示了如何利用颜色数组和颜色映射 (`cmap`) 来增强图表的表现力,并使用 `colorbar()` 方法添加颜色条,使数据可视化更加直观。
30 1
|
27天前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 散点图 9
使用Matplotlib中的`scatter()`方法绘制散点图。该方法接受多个参数,如数据点位置(x,y)、点的大小(s)、颜色(c)等,并支持多种颜色样式和配置选项。通过调整这些参数,用户可以自定义散点图的外观和表现形式,实现丰富的可视化效果。
19 0
|
29天前
|
Python
Matplotlib 教程 之 Matplotlib 散点图 4
使用 Matplotlib 的 `scatter()` 方法绘制散点图。通过设置 `x` 和 `y` 数组来定义数据点位置,还可以自定义点的大小(`s`)、颜色(`c`)、样式(`marker`)等参数。示例展示了两组不同颜色的散点图,分别使用 `hotpink` 和 `#88c999` 颜色绘制。
29 0