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])

目录
相关文章
|
20天前
|
数据可视化 Python
Matplotlib 直方图
Matplotlib 直方图
34 11
|
23天前
|
Java Go C#
Matplotlib 散点图
Matplotlib 散点图
27 0
Matplotlib 散点图
|
2月前
|
Python
Matplotlib 教程 之 Matplotlib 散点图 1
通过设置参数如点的大小(`s`)、颜色(`c`)和样式(`marker`)等,可以定制图表外观。示例展示了如何用两个长度相同的数组分别表示 x 和 y 轴的值来创建基本散点图。
47 12
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 直方图 2
使用 Matplotlib 的 `hist()` 方法绘制直方图,通过实例展示了如何比较多组数据的分布。`hist()` 方法属于 Matplotlib 的 pyplot 子库,能有效展示数据分布特性,如中心趋势和偏态。示例中通过生成三组正态分布的随机数据并设置参数(如 bins、alpha 和 label),实现了可视化比较。
40 3
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 直方图 4
使用 Matplotlib 库中的 `hist()` 方法绘制直方图,该方法可用于展示数据分布情况,如中心趋势、偏态及异常值等。通过实例演示了如何设置柱子数量 (`bins` 参数) 并配置图形标题与坐标轴标签。`hist()` 方法接受多个参数以自定义图表样式,包括颜色、方向及是否堆叠等。
31 1
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 散点图 7
使用 Matplotlib 的 `scatter()` 方法绘制散点图。该方法接受多个参数,如 x 和 y 数据点、点的大小(s)、颜色(c)和样式(marker)等。通过示例展示了如何利用颜色数组和颜色映射 (`cmap`) 来增强图表的表现力,并使用 `colorbar()` 方法添加颜色条,使数据可视化更加直观。
34 1
|
2月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 散点图 9
使用Matplotlib中的`scatter()`方法绘制散点图。该方法接受多个参数,如数据点位置(x,y)、点的大小(s)、颜色(c)等,并支持多种颜色样式和配置选项。通过调整这些参数,用户可以自定义散点图的外观和表现形式,实现丰富的可视化效果。
26 0
|
2月前
|
Python
Matplotlib 教程 之 Matplotlib 散点图 4
使用 Matplotlib 的 `scatter()` 方法绘制散点图。通过设置 `x` 和 `y` 数组来定义数据点位置,还可以自定义点的大小(`s`)、颜色(`c`)、样式(`marker`)等参数。示例展示了两组不同颜色的散点图,分别使用 `hotpink` 和 `#88c999` 颜色绘制。
33 0
|
4月前
|
Python
Matplotlib.pyplot.scatter 散点图绘制
Matplotlib.pyplot.scatter 散点图绘制
44 0
|
5月前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。