天天看点

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

导入库

import matplotlib.pyplot as plt      

构建画布

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

没有任何配置的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的使用(二)
# 构造数据
# 位置 (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的使用(二)

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

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

​​Writing mathematical expressions — Matplotlib 3.5.1 documentation​​

还可以绘制其他的图形

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

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

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

 这类高级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的使用(二)

使用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的使用(二)
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)'])      

 每文一语