Python Matplotlib基本使用

1…对坐标轴的操作

import matplotlib.pyplot as plt
plt.figure(num=1)
x = np.linspace(0, np.pi)
y_sin = np.sin(x)

plt.plot(x,y_sin) #生成线段图
plt.xlim((-1,2)) #x轴坐标的上下限
plt.ylim((0,2)) #y轴坐标的上下限
plt.xlabel("I am X") #x坐标轴的标签
plt.ylabel("I am Y") #y坐标轴的标签

#刻度线标签设置
new_ticks = np.linespace(-1,2,5)
#通过numpy方法生成下限为-1,上限为2,且间隔5段的数据
plt.xticks(new_ticks)
plt.yticks([-2,-1,0,1,],["really bad","bad","normal","good"]) #y=-2的刻度标签显示really bad字样,y=-1的刻度标签显示bad字样

#对上轴和右轴的设置
ax = plt.gca() #gca即get current axis,获得当前的坐标轴
ax.spines['right'].set_color('none') #不显示右侧坐标轴
ax.spines['top'].set_color('none') #不显示上侧坐标轴

ax.xaxis.set_ticks_position('bottom') #用bottom代替x轴的xticks
ax.spines['bottom'].set_position(('data', -1)) #x轴移动到y轴的-1处
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',1)) #y轴移动到x轴的1处

2.生成图例

x = np.linspace(0, np.pi)
y_sin = np.sin(x)
y_cos = np.cos(x)
plt.figure()
line_1, = plt.plot(x,y_sin,color="red",linewidth=1,linestyle="-") #设置线的颜色、粗细、样式,并返回给line_1对象,注意一定要加逗号
line_2, = plt.plot(x,y_cos,color="blue",linewidth=2,linestyle="--")
plt.legend(andles=[line_1,line_2],lables=["aaa","bbb"],loc="best") #生成图例,图例中包含line_1和line_2,且line_1的线图例命名为aaa,line_2命名为bbb,图例生成的位置为最佳位置

3.生成标注
在这里插入图片描述



x0 = 1
y0 = 2*x0 + 1
plt.plot([x0, x0,], [0, y0,], 'k--', linewidth=2.5) #k--为简写形式,k表示颜色,--表示样式,该句话将在图中标注出如上的虚线
plt.scatter([x0, ], [y0, ], s=50, color='b') #标注出需要强调的点

plt.annotate('2x+1=%s' % y0, xy=(x0, y0),  xytext=(+30, -30),
             textcoords='offset points', fontsize=16,
             arrowprops=dict(arrowstyle='->')
             #第一个参数表示生成的文字,第二个参数表示对哪个地方进行标注,第三个参数表示对于该点偏离多少显示文字,最后一个参数表示显示的箭头类型
plt.text(-3.7, 3, r'$This is the some text. \mu \sigma_i\alpha_t$',fontdict={'size': 16, 'color': 'r'})

4.生成子图

#方法一
plt.figure()
plt.subplot(2,2,1) #生成2行2列共四个图,该图位于第一个位置
…… #接下来都是对第一张图进行操作
plt.subplot(2,2,2) #该图位于第二个位置,即一行二列
…… #接下来都是对第二张图进行操作
#方法二
fig, axes = plt.subplots(2, 2)  # 此处是一个2*2的图
data.plot.bar(ax=axes[1,1], color='b', alpha=0.5)  
ax1 = plt.gca() #返回当前操作对象的坐标轴
ax1.set_xlim([-1,1]) #对当前x轴的上下限修改
# ax=[1,1] 即位置是第2行、第二列,alpha表示透明度
data.plot.barh(ax=axes[0,1], color='k', alpha=0.5)

5.生成次坐标轴

import numpy as np
import matplotlib.pyplot as plt
 
fig, ax1 = plt.subplots(1, 1)             
# 做1*1个子图,等价于 " fig, ax1 = plt.subplot() ",
#等价于 fig, ax1 = plt.subplots() "
ax2 = ax1.twinx()  #生成次坐标轴,值为主坐标轴的反向

x1 = np.linspace(0, 4 * np.pi, 100)
y1 = np.sin(x1)
y2 = np.cos(x1)
ax1.plot(x1, y1,"g-")
ax2.plot(x1, y2,"b--")
#分别对主次坐标轴设置标签
ax1.set_ylabel("Y1",c="g")
ax2.set_ylabel("Y2",c="g")
ax2.set_

6.基本图形绘制
见https://blog.youkuaiyun.com/kun1280437633/article/details/80841364

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值