栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python画图代码大全_python画图的库?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python画图代码大全_python画图的库?

python常用的还是数据分析,算法方面。作图用的很少,或者说在作图方面的优势不大,比如excel,matlab,origin就可以把图做得很好。

python中绘图要调用matplotlib包,使用比较灵活,在论文中也见过不少用的。

1.绘制常见的散点图,折线图,柱状图,以及常用的格式,区别只在于作图那一行的代码。

如:

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

# 绘制散点图
x = np.random.randint(low=2, high=10, size=10)
y = np.random.randint(low=2, high=10, size=10)

#===============除了数据,区别就在于下一行代码==================
plt.scatter(x, y)  # 绘制散点图


# 绘制折线图,以sin函数为例
x = np.linspace(start=0, stop=30, num=300)
y = np.sin(x)
plt.plot(x, y)

# 绘制柱状图
plt.bar(x, y, width=0.5)


# 直方图
x = np.random.normal(loc=0, scale=1, size=1000)
plt.hist(x=x, bins=50)


plt.title("这是散点图")
plt.xlabel("x轴标签")
plt.ylabel("y轴标签")
plt.show()

2.形状,线型,颜色,透明度等属性可以对应调节,同样,只需要改一行代码中的部分字句即可。

plt.plot(x, y, color='r', marker='d', linestyle='--', linewidth=2, alpha=0.8)
plt.title('颜色:红,标记:棱形,线性:虚线,线宽:2,透明度:0.8')

颜色属性 r:红色 b:蓝色 g:绿色 y:黄色

数据标记属性 o:圆圈 .:圆点 d:菱形 

线型属性 --(两横线):虚线 -(一横线):实线

3.组合图、子图和动态图和常见图的区别在于设置句柄。一张图中有很多句柄,不同句柄对应不同的子图。

组合图是一张图上显示多幅图形,前后覆盖。思路:先画第一图,再画第二图......

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

# 绘制正弦曲线,并修改图形属性
x1 = np.linspace(start=0, stop=30, num=300)
y1 = np.sin(x1)
x2 = np.random.randint(low=0, high=10, size=10)
y2 = np.random.randint(low=0, high=10, size=10) / 10

# 先绘制折线图,用蓝色
plt.plot(x1, y1, color='b', label='line plot')
# 再绘制散点图,用红色
plt.scatter(x2, y2, color='r', label='scatter plot')

plt.title("组合图")
plt.legend(loc='best')  # 显示图例
plt.show()

子图是把画板分为几部分,每一部分展示不同的子图。画图时用axi.plot()函数。axi是子图的句柄。

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

fig = plt.figure(figsize=(10, 10))  # 指定画布大小

ax1 = fig.add_subplot(2, 2, 1)  # 添加一个子图,返回子图句柄
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
ax4 = fig.add_subplot(2, 2, 4)

# 子图1绘制sin图形
x = np.linspace(start=0, stop=30, num=300)
y = np.sin(x)
ax1.plot(x, y)
ax1.set_title('子图1')

# 子图2绘制散点图
x = np.random.randint(low=2, high=10, size=10)
y = np.random.randint(low=2, high=10, size=10)
ax2.scatter(x, y)  # 绘制散点图
ax2.set_title('子图2')

# 子图3绘制直方图
x = np.random.normal(loc=0, scale=1, size=1000)
ax3.hist(x=x, bins=50)
ax3.set_title('子图3')

# 子图4绘制组合图
x1 = np.linspace(start=0, stop=30, num=300)
y1 = np.sin(x1)
x2 = np.random.randint(low=0, high=10, size=10)
y2 = np.random.randint(low=0, high=10, size=10) / 10

# 绘制组合图
ax4.plot(x1, y1, color='b', label='line plot')
ax4.scatter(x2, y2, color='r', label='scatter plot')
ax4.set_title('子图4')

# 最后显示图形
plt.show()

三维图需要调用3D包(与上述调用的matplotlib包不同),同时需要指定3D图形,作图时指定的函数一样的。

# 3D曲线图
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt

# 生成画布
fig = plt.figure()
ax = fig.gca(projection='3d')  # 指定为3D图形

# 生成(x,y,z)数据
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z ** 2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)

# 绘制图形
ax.plot(x, y, z)  # 曲线图和2D一样使用plot函数
plt.show()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783052.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号