0
点赞
收藏
分享

微信扫一扫

matplotlib的基本图表配置之plot的使用(二)


导入库

import matplotlib.pyplot as plt

构建画布

plt.plot()

matplotlib的基本图表配置之plot的使用(二)_python 绘制图形

没有任何配置的plot的基本图形是这样,默认X轴的范围是:-0.04至0.04

图形的构成
- Figure - 画布
- Axes - 坐标系
- Axis - 坐标轴(X轴,y轴)
- 图形 - plot()折线图,scatter()散点图,bar()柱状图, pie()饼图
- 标题、图例、标签、......

# 官网文档: https://matplotlib.org/
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2 * np.pi, 200) #
y = np.sin(x)

# plt.plot(x,y) : 其实等价于完成了下面的代码
fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()

matplotlib的基本图表配置之plot的使用(二)_matplotlib_02

# 构造数据
# 位置 (2维:x,y一一对应)
x = np.linspace(0, 2 * np.pi, 200) # 从0到2pi的200个值
y = np.sin(x) # 从sin(0)到sin(2pi)的200个值
# 颜色(0维)
c = 'red'
c = 'r'
c = '#FF0000'
# 大小(0维): 线宽
lw = 1

# 生成一个Figure画布和一个Axes坐标系
fig, ax = plt.subplots()
# 在生成的坐标系下画折线图
ax.plot(x, y, c, linewidth=lw)
# 显示图形
plt.show()

matplotlib的基本图表配置之plot的使用(二)_折线图_03

绘制五角星(将图表放大即可)

点击此处去官网探索一下吧!

​​Writing mathematical expressions — Matplotlib 3.5.1 documentation​​

还可以绘制其他的图形

# 点的颜色,形状,大小
plt.plot(1,1,color='r',marker='*',markersize=120)

参考上面的图表类型,我们可以绘制一些我们需要的图标

matplotlib的基本图表配置之plot的使用(二)_matplotlib_04

matplotlib的基本图表配置之plot的使用(二)_数据_05

matplotlib的基本图表配置之plot的使用(二)_折线_06

matplotlib的基本图表配置之plot的使用(二)_折线图_07

matplotlib的基本图表配置之plot的使用(二)_python 绘制图形_08

 

matplotlib的基本图表配置之plot的使用(二)_python 绘制图形_09

 这类高级marker使用marker ='$\circledR$'来调用

可以显示的形状    marker名称
ϖ \varpi
ϱ \varrho
ς \varsigma
ϑ \vartheta
ξ \xi
ζ \zeta
Δ \Delta
Γ \Gamma
Λ \Lambda
Ω \Omega
Φ \Phi
Π \Pi
Ψ \Psi
Σ \Sigma
Θ \Theta
Υ \Upsilon
Ξ \Xi
℧ \mho
∇ \nabla
ℵ \aleph
ℶ \beth
ℸ \daleth
ℷ \gimel
/ /
[ [
⇓ \Downarrow
⇑ \Uparrow
‖ \Vert
↓ \downarrow
⟨ \langle
⌈ \lceil
⌊ \lfloor
⌞ \llcorner
⌟ \lrcorner
⟩ \rangle
⌉ \rceil
⌋ \rfloor
⌜ \ulcorner
↑ \uparrow
⌝ \urcorner
\vert
{ \{
\|
} \}
] ]
|
⋂ \bigcap
⋃ \bigcup
⨀ \bigodot
⨁ \bigoplus
⨂ \bigotimes
⨄ \biguplus
⋁ \bigvee
⋀ \bigwedge
∐ \coprod
∫ \int
∮ \oint
∏ \prod
∑ \sum

 绘制多条曲线

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2 * np.pi, 50) #
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x,y1,label='sin(x)') # plt.plot() -> 在当前坐标系中画一条折线
plt.plot(x,y2,label='cos(x)') # plt.plot() -> 在当前坐标系中画一条折线,自动区分颜色
plt.legend()

matplotlib的基本图表配置之plot的使用(二)_python 绘制图形_10

使用pandas绘图

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

x = np.linspace(0, 2 * np.pi, 50) #
y1 = np.sin(x)
y2 = np.cos(x)

data = np.concatenate(([x],[y1],[y2]),axis=0)
df = pd.DataFrame(data).T
df.set_index(0,inplace=True)
df.columns = ['sinx','cosx']

# DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False,
# sharex=None, sharey=False, layout=None, figsize=None,
# use_index=True, title=None, grid=None, legend=True,
# style=None, logx=False, logy=False, loglog=False,
# xticks=None, yticks=None, xlim=None, ylim=None, rot=None,
# fontsize=None, colormap=None, position=0.5, table=False, yerr=None,
# xerr=None, stacked=True/False, sort_columns=False,
# secondary_y=False, mark_right=True, **kwds)

df.plot()

matplotlib的基本图表配置之plot的使用(二)_数据_11

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

x = np.linspace(0, 2 * np.pi, 50) #
y1 = np.sin(x)
y2 = np.cos(x)

df = pd.DataFrame([x,y1,y2]).T
df.columns = ['x','sin(x)','cos(x)']

# Pandas DataFrame plot函数
df.plot(x='x',y=['sin(x)','cos(x)'])

 

matplotlib的基本图表配置之plot的使用(二)_python 绘制图形_12

 每文一语

总以为来日方长,你却忘了世事无常

举报

相关推荐

0 条评论