Matplotlib 基本使用

本文详细介绍了如何使用Python的Matplotlib库绘制各种2D和3D图形,包括简单的线形图、散点图、直方图、饼图等,并展示了如何自定义图形外观,使用子图在一个窗口中绘制多张图表,以及如何从文件读取数据进行绘图。此外,还介绍了如何创建3D表面图。
部署运行你感兴趣的模型镜像
一、2D 图形
1. 画一个简单的图形
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline

x = np.linspace(0, 2 * np.pi, 50) #生成一个包含 50 个元素的数组,这 50 个元素均匀的分布在 [0, 2pi] 的区间上。
plt.plot(x, np.sin(x)) # 如果没有第一个参数 x,图形的 x 坐标默认为数组的索引
plt.plot(x, np.sin(x),
         x, np.sin(2 * x)) #绘制两个数据集
plt.show() # 显示图形

2. 自定义图形的外观
x = np.linspace(0, 2 * np.pi, 50)
plt.plot(x, np.sin(x), 'r-o',
         x, np.cos(x), 'g--') #'r' 和 'g' 代表线条的颜色,'-o' 代表包含实心点标记的实线,'--' 代表虚线
plt.show()

3. 使用子图,可以在一个窗口绘制多张图。
x = np.linspace(0, 2 * np.pi, 50)
plt.subplot(2, 1, 1) # (行,列,活跃区)
plt.plot(x, np.sin(x), 'r')
plt.subplot(2, 1, 2) #在调用 plot() 函数之前需要先调用 subplot() 函数。
plt.plot(x, np.cos(x), 'g')
plt.show()

4. 简单散点图
x = np.linspace(0, 2 * np.pi, 50)
y = np.sin(x)
plt.scatter(x,y) #通过 plot 命令并将线的样式设置为 'bo' 也可以实现同样的效果。实际设置'o'就可以,'bo'表示蓝色的点。
plt.show()

5. 直方图
x = np.random.randn(1000)
plt.hist(x, 50)
plt.show()

6. 彩色映射散点图
x = np.random.rand(1000)
y = np.random.rand(1000)
size = np.random.rand(1000) * 50
colour = np.random.rand(1000)
plt.scatter(x, y, size, colour)
plt.colorbar() #加了一个颜色栏。
plt.show()

7. 添加标题,坐标轴标记和图例
x = np.linspace(0, 2 * np.pi, 50)
plt.plot(x, np.sin(x), 'r-x', label='Sin(x)')
plt.plot(x, np.cos(x), 'g-^', label='Cos(x)')
plt.legend() # 应用label,展示图例
plt.xlabel('Rads') # 给 x 轴添加标签
plt.ylabel('Amplitude') # 给 y 轴添加标签
plt.title('Sin and Cos Waves') # 添加图形标题
plt.show()

8. 饼图
slices = [7,2,2,13]
activities = ['sleeping','eating','working','playing']
cols = ['c','m','r','b']

plt.pie(slices,
        labels=activities,
        colors=cols,
        startangle=90,
        shadow= True,
        explode=(0,0.1,0,0),
        autopct='%1.1f%%')

plt.title('Interesting Graph\nCheck it out')
plt.show()

9. 从文件读取数据
import numpy as np
import matplotlib.pyplot as plt
import random
import csv

x = []
y = []

with open('example.txt','r') as csvfile:
    plots = csv.reader(csvfile, delimiter=',')
    for row in plots:
        x.append(int(row[0]))
        y.append(int(row[1]))

plt.plot(x,y, label='Loaded from file!')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()

二、3D 图形
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = Axes3D(fig)

# X, Y value
X = np.arange(-4, 4, 0.25)
print(X)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)    # x-y 平面的网格,这一步不可少,表示(x,y)两个变量共建两个坐标轴

R = np.sqrt(X ** 2 + Y ** 2)
# height value
Z = np.sin(R)

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'))


附:
code


THE END.

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Matplotlib是一个Python的可视化库,它提供了一种非常方便的方式来制作各种静态和动态图形。下面是Matplotlib的一些基本知识: 1. 安装Matplotlib 你可以使用pip命令来安装Matplotlib: ``` pip install matplotlib ``` 2. 导入Matplotlib 在Python中,你需要使用import语句来导入Matplotlib库: ``` import matplotlib.pyplot as plt ``` 这里plt是Matplotlib的一个子模块,它包含了Matplotlib的大部分功能。 3. 绘制简单的图形 在Matplotlib中,你可以使用plt.plot()函数来绘制简单的线图。例如,下面的代码将绘制一个简单的正弦曲线: ``` import numpy as np x = np.linspace(0, 2*np.pi, 100) y = np.sin(x) plt.plot(x, y) plt.show() ``` 这里,我们使用了NumPy库来生成一组x值,并使用np.sin()函数生成相应的y值。然后,我们使用plt.plot()函数来绘制这个正弦曲线,并使用plt.show()函数来显示它。 4. 自定义图形 Matplotlib提供了许多方式来自定义图形,例如添加标题、轴标签、图例等。下面是一个例子: ``` import numpy as np x = np.linspace(0, 2*np.pi, 100) y1 = np.sin(x) y2 = np.cos(x) plt.plot(x, y1, label='sin(x)') plt.plot(x, y2, label='cos(x)') plt.title('Trigonometric Functions') plt.xlabel('x') plt.ylabel('y') plt.legend() plt.show() ``` 在这个例子中,我们使用两个不同的数组生成了两个函数值,然后使用plt.plot()函数绘制了两条曲线,并为每条曲线添加了一个标签。我们使用plt.title()函数添加了一个标题,使用plt.xlabel()和plt.ylabel()函数添加了轴标签,使用plt.legend()函数添加了图例。 这只是Matplotlib的一些基本知识,你可以在Matplotlib的官方文档中找到更多的信息和示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值