1.[-50,50)的平方值与2倍值的图
from matplotlib import pyplot as plt
import numpy as np
# 创建x、y轴数据
x = np.arange(-50, 50)
y = x ** 2
# 画图
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
plt.rcParams['axes.unicode_minus'] = False # 显示 - 号
plt.title("[-50,50)的平方值与2倍值", fontsize=16)
plt.xlabel("x轴", fontsize=14) # x轴标签
plt.xticks([-50, -30, -10, 10, 30, 50], rotation=0, color='g') # 设置x轴刻度、旋转角度、颜色
plt.ylabel("y轴", fontsize=14) # y轴标签
plt.plot(x, y, linewidth=3, color='#04b3a5', label='平方值') # 绘图
plt.plot(x, x * 2, linewidth=3, color='#e86b6b', label='2倍值') # 绘图(同一个图)
plt.legend(loc="upper right") # 显示图例
plt.savefig("data/[-50,50)的平方值与2倍值.png") # 保存图片
print("绘图保存成功...")
plt.show()
2.带网格的正余弦函数图
import numpy as np
from matplotlib import pyplot as plt
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
c, s = np.cos(x), np.sin(x)
plt.title('正余弦函数图')
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
plt.rcParams['axes.unicode_minus'] = False # 显示 - 号
plt.plot(x, c)
plt.plot(x, s)
# 显示网格(是否显示网格、线型、颜色、宽度、显示x和y两者的网格)
plt.grid(True, linestyle='--', color='gray', linewidth='0.5', axis='both')
plt.savefig('data/正余弦函数图.png')
print('正余弦函数图保存成功...')
plt.show()
3.移动坐标轴的对称图
import numpy as np
from matplotlib import pyplot as plt
# 创建x、y轴数据
x = np.arange(-50, 51)
y = x ** 2
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
plt.rcParams['axes.unicode_minus'] = False # 显示 - 号
plt.title("对称图", fontsize=16)
plt.plot(x, y)
# 设置坐标轴
ax = plt.gca()
ax.spines['right'].set_color('none') # 设置右边坐标轴的颜色为none
ax.spines['top'].set_color('none') # 设置上边坐标轴的颜色为none
ax.spines['left'].set_position(('data', 0)) # 设置左边坐标轴移动到数据为0的位置
# 保存和显示
plt.savefig('data/对称图.png')
print('对称图保存成功...')
plt.show()
4.基本柱状图
from matplotlib import pyplot as plt
# 创建x、y轴数据
x = range(5)
y = [5, 20, 15, 25, 10]
plt.title("基本柱状图") # 设置图形标题
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
plt.rcParams['axes.unicode_minus'] = False # 显示 - 号
plt.grid(ls='--', alpha=0.5) # 绘制网格
# plt.bar(x, y, color=['r', 'b', 'g', '#505', '#d43636']) # 绘制柱状图
plt.bar(x, y, color=['r', 'b', 'g', '#505', '#d43636'], ec='r', ls='--', lw=2) # 绘制柱状图,并且添加边缘线条
# 保存和显示
plt.savefig('data/基本柱状图.png')
print('图片已保存...')
plt.show()
5.简单直方图
from matplotlib import pyplot as plt
import numpy as np
# 创建数据
x = np.random.randint(140, 180, 300)
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
plt.rcParams['axes.unicode_minus'] = False # 显示 - 号
plt.title('数据统计')
plt.xlabel('身高')
plt.ylabel('比例')
plt.hist(x, bins=10, edgecolor='white') # 绘制直方图,bins显示的个数,edgecolor边缘的颜色
# 保存和显示
plt.savefig('data/数据统计.png')
print('图片保存成功...')
plt.show()
6.支出占比图
from matplotlib import pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
plt.rcParams['axes.unicode_minus'] = False # 显示 - 号
plt.title('各个项目支出占比图')
# 定义饼图标签
labels = ['娱乐', '育儿', '饮食', '房贷', '交通', '其他']
# 每个标签的数量
nums = [200, 500, 1200, 7020, 200, 985]
plt.pie(nums, labels=labels, autopct='%.2f%%') # 绘制饼状图,autopct显示百分比
# 保存和显示
plt.savefig('data/各个项目支出占比图.png')
plt.show()
7.散点图
from matplotlib import pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
plt.rcParams['axes.unicode_minus'] = False # 显示 - 号
# 创建数据
x = np.random.rand(100)
y = np.random.rand(100)
s = (20 * np.random.rand(8))**2 # 点的面积
colors = np.arange(1, 101)
plt.scatter(x, y, c=colors, cmap='Blues') # 绘制散点图,alpha透明度, cmap色区
# 保存和显示
plt.savefig('data/散点图.png')
plt.show()