Python的使用matplotlib.pyplot库画图(入门例子)

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值