matplotlib快速入门!

第一部分:matplotlib的安装配置

(1)anaconda安装matplotlib

conda install matplotlib

(2)查看安装是否成功

python -c "import matplotlib; print(matplotlib.__version__)"

(3)卸载matplotlib

conda remove matplotlib

第二部分:使用

导包:

import matplotlib.pyplot as plt
import numpy as np

(1)输出简单的y=x的平方单条图线

①定义x的值

arr_x1=np.linspace(-10,10,1000)
arr_x1

②定义y的值

arr_y1=arr_x1**2
arr_y1

③画图

plt.plot(arr_x1,arr_y1)
plt.show()

(2)在一张图中输出多条线(实线图)

①定义x的值

arr_x=np.linspace(0,10,1000)
arr_x

②定义y1(sin)的值

arr_y1=np.sin(arr_x)
arr_y1

③定义y2(cos)的值

arr_y2=np.cos(arr_x2)
arr_y2

④画图

plt.plot(arr_x,arr_y1)
plt.plot(arr_x,arr_y2)
plt.show()

⑤给曲线绘制颜色

plt.plot(arr_x,arr_y1,color='green')
plt.plot(arr_x,arr_y2,color='red')
plt.show()

 ⑥设置曲线的格式(实线虚线)

plt.plot(arr_x,arr_y1,color='green',linestyle=':')
plt.plot(arr_x,arr_y2,color='red')
plt.show()

⑦调整x,y的范围(方法1plt.xlim)

plt.plot(arr_x,arr_y1,color='green',linestyle=':')
plt.plot(arr_x,arr_y2,color='red')
plt.xlim(2,8)
plt.ylim(-2,2)
plt.show()

⑧调整x,y的范围(方法2plt.axis)

plt.plot(arr_x,arr_y1,color='green',linestyle=':')
plt.plot(arr_x,arr_y2,color='red')
plt.axis([2,8,-2,2])
plt.show()

前两个是x的坐标,后两个是y的坐标。

⑨给xy轴设置名字xlabel和ylabel

plt.plot(arr_x,arr_y1,color='green',linestyle=':')
plt.plot(arr_x,arr_y2,color='red')
plt.axis([2,8,-2,2])
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.show()

⑩给两条曲线添加名字label和legend

plt.plot(arr_x,arr_y1,color='green',linestyle=':',label='y=sin(x)')
plt.plot(arr_x,arr_y2,color='red',label='y=cos(x)')
plt.axis([2,8,-2,2])
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.legend()
plt.show()

⑪给图片添加图像标题title

plt.plot(arr_x,arr_y1,color='green',linestyle=':',label='y=sin(x)')
plt.plot(arr_x,arr_y2,color='red',label='y=cos(x)')
plt.axis([2,8,-2,2])
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.title("figure1")
plt.legend()
plt.show()

(3)散点图scatter

①图1正弦函数和余弦函数
1.定义x的值
arr1=np.linspace(-10,10,100)
arr1
2.定义y1(sinx)的值
arr2=np.sin(arr1)
arr2
3.定义y2(cosx)的值
arr3=np.cos(arr1)
arr3
4.绘制图

plt.scatter(arr1,arr2,color='red')
plt.scatter(arr1,arr3,color='green')
plt.show()
②绘制normal散点图查看分布情况

x=np.random.normal(0,1,10000)
y=np.random.normal(0,1,10000)
plt.scatter(x,y)
plt.show()

设置深浅度alpha:

x=np.random.normal(0,1,10000)
y=np.random.normal(0,1,10000)
plt.scatter(x,y,alpha=0.1)
plt.show()

这个里面的alpha=0.1代表的含义是:1代表全实,0代表虚,也就是透明,通过这样就可以画出来深浅不一的图像(重叠多的地方图像更深)。

(4)折线图(实例,华为手机和小米手机2023年销售量走势(数据自拟))

代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl

# 设置中文显示字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False
# 生成2023年1月至12月的销量数据(示例数据,实际销量需要根据实际情况)
np.random.seed(0)  # 设置随机种子,以便结果可重复
months = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']

# 假设华为手机销量在500000到1000000之间,小米手机销量在300000到700000之间
huawei_sales = np.random.randint(500000, 1000000, size=12)
xiaomi_sales = np.random.randint(300000, 700000, size=12)

# 创建DataFrame
df = pd.DataFrame({
    '月份': months,
    '华为手机销量': huawei_sales,
    '小米手机销量': xiaomi_sales
})

# 保存为Excel文件
df.to_excel('华为与小米2023年销量.xlsx', index=False)

# 绘制销售走向图
plt.figure(figsize=(10, 5))  # 设置图表大小
plt.plot(df['月份'], df['华为手机销量'], label='华为手机销量', marker='o')  # 绘制华为手机销量
plt.plot(df['月份'], df['小米手机销量'], label='小米手机销量', marker='s')  # 绘制小米手机销量
plt.title('2023年华为与小米手机销量走向')  # 设置图表标题
plt.xlabel('月份')  # 设置x轴标签
plt.ylabel('销量(台)')  # 设置y轴标签
plt.legend()  # 显示图例
plt.grid(True)  # 显示网格
plt.show()  # 显示图表

结果:

好啦!持续更新,不断总结,也希望能够帮助到大家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还不秃顶的计科生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值