数据分析-matplotlib
matplotlib pip install matplotlib 简单使用 import matplotlib.pyplot as plt # 下载: pip install matplo

数据分析-matplotlib

发布时间:2024-04-02 (2024-04-02)

matplotlib

pip install matplotlib

简单使用

import matplotlib.pyplot as plt

# 下载: pip install matplotlib

# 绘图函数
# plt.plot()

# 显示图像
# plt.show()

# plt.plot()
# plt.show()

# 折线图
plt.plot([1, 3, 4], [2, 12, 8], 'o-.r')
"""
线 linestyle:- -. --
点 marker:v ^ s * H + x D o
颜色 color: b g r y k w
"""
plt.show()

plot函数周边

import matplotlib.pyplot as plt
import numpy as np

# 下载: pip install matplotlib

# 绘图函数
# plt.plot()

# 显示图像
# plt.show()

# plt.plot()
# plt.show()

# 折线图
# 多图显示
plt.plot([1, 2, 3, 4], [2, 4, 12, 8], 'o-.r', label="line A")
plt.plot([1, 2, 3, 4], [6, 7, 5, 11], 'o-b', label="line B")
plt.plot([1, 2, 3, 4], [3, 1, 23, 10], 'o-y', label="line C")

# 设置图像标题
plt.title('matplotlib test title')
plt.xlabel('id_show')
plt.ylabel('nums')

# 设置x轴, y轴 范围
plt.xlim(0, 10)
plt.ylim(0, 25)

# 设置刻度
plt.xticks(np.arange(0, 11, 2), list('abcdef'))

# 设置图例, 需要给每条线设置label
plt.legend()


"""
线 linestyle:- -. --
点 marker:v ^ s * H + x D o
颜色 color: b g r y k w
"""
plt.show()

与pandas联动

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

data_list = pd.read_csv('../pandas使用/file/0117.csv', index_col='date', parse_dates=['date'])
data_list.plot()
plt.show()

绘制数学图像

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

x = np.linspace(-100, 100, 10000)
y1 = x.copy()
y2 = x ** 2
y3 = 3 * x ** 3 + 5 * x ** 2 + 2 * x + 1
plt.plot(x, y1, 'r', label='y=x')
plt.plot(x, y2, 'g', label='y=x^2')
plt.plot(x, y3, 'b', label='y=3x^3+5x^2+2x^2+1')

plt.ylim(-100, 100)
plt.xlim(-20, 20)

plt.legend()
plt.show()

画布与子图

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

# 创建一个画布
fig = plt.figure()
# 增加一个子图  2行2列 这个子图占第一个位置
ax1 = fig.add_subplot(2, 2, 1)
# 在子图上画图
ax1.plot([1, 2, 3, 4, 5], [23, 45, 12, 34, 7])


ax2 = fig.add_subplot(2, 2, 2)
# 在子图上画图
ax2.plot([1, 2, 3, 4, 5], [5, 42, 24, 15, 23], 'b')

plt.show()

柱状图和饼图

import matplotlib.pyplot as plt
import numpy as np

# 柱状图
data = [32, 12, 67, 46]
labels = ['Jan', 'Feb', 'Mar', 'Apr']
plt.bar(np.arange(len(data)), data, width=0.8)
plt.xticks(np.arange(len(data)), labels)
plt.show()

# 饼图
plt.pie([10, 20, 40, 30], labels=['a', 'b', 'c', 'd'], autopct='%.1f%%', explode=[0.1, 0, 0, 0.1])
plt.axis()
plt.show()