【Python】画图

B站学习资源

1.画图

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 50)
# y = 2*x + 1
y = x**2
plt.plot(x, y)
plt.show()

在这里插入图片描述不想要在pycharm显示图像,想单独页面显示来编辑图像
File->Settings->Tools->Python Scientific->Show plots in tool window 对勾取消

2.figure使用

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x, y1)

plt.figure()
plt.plot(x, y2)
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x, y1)

plt.figure('hello')
plt.plot(x, y2,color='g',linestyle='-')
plt.plot(x, y1,'r--',linewidth=21.0)
plt.show()

在这里插入图片描述

3.axis

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 50)
y1 = 2*x + 1
y2 = x**2

plt.figure('hello')
plt.plot(x, y2,color='g',linestyle='-')
plt.plot(x, y1,'r--',linewidth=21.0)
plt.xlim((-1,1))
plt.ylim((-1,3))
plt.xlabel('I am x')
plt.ylabel('I am y')

new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,1,3],
           [r'$really\ bad\ \alpha$','$bad$','$normal$','$good$'])
plt.show()

在这里插入图片描述

4.坐标轴位置设定

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 50)
y1 = 2*x + 1
y2 = x**2

plt.figure('hello')
plt.plot(x, y2,color='g',linestyle='-')
plt.plot(x, y1,'r--',linewidth=1.0)
plt.xlim((-1,1))
plt.ylim((-1,3))
plt.xlabel('$I\ am\ x$')
plt.ylabel('$I\ am\ y$')

new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,1,3],
           [r'$really\ bad\ \alpha$','$bad$','$normal$','$good$'])

ax =plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',-1))
ax.spines['left'].set_position(('data',0))
plt.show()

在这里插入图片描述

5.图例

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 50)
y1 = 2*x + 1
y2 = x**2

plt.figure('hello')
plt.plot(x, y2,color='g',linestyle='-',label='up')
plt.plot(x, y1,'r--',linewidth=1.0,label='down')
plt.xlim((-1,1))
plt.ylim((-1,3))
plt.xlabel('$I\ am\ x$')
plt.ylabel('$I\ am\ y$')

new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,1,3],
           [r'$really\ bad\ \alpha$','$bad$','$normal$','$good$'])

ax =plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',-1))
ax.spines['left'].set_position(('data',0))
plt.legend(loc='best')
plt.show()

在这里插入图片描述

6.注释

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1, 1, 50)
y1 = 2*x + 1
y2 = x**2

plt.figure('hello')
plt.plot(x, y2,color='g',linestyle='-',label='up')
plt.plot(x, y1,'r--',linewidth=1.0,label='down')
plt.xlim((-1,1))
plt.ylim((-1,3))
plt.xlabel('$I\ am\ x$')
plt.ylabel('$I\ am\ y$')

new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,1,3],
           [r'$really\ bad\ \alpha$','$bad$','$normal$','$good$'])

ax =plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',-1))
ax.spines['left'].set_position(('data',0))
plt.legend(loc='best')

x0 = 0.45
y0 = 2*x0 + 1
plt.scatter(x0,y0,s=50,color='b')
plt.plot([x0,x0],[y0,-1],'k--',lw=2.5)

plt.annotate(r'$2x+1=%s$' %y0,xy=(x0,y0),xycoords='data',xytext=(+30,-20),textcoords='offset points',fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
plt.text(-1,3.5,r'$This\ is\ the\ some\ text.\  \mu\ sigma_i\ \alpha_t$', fontdict={'size':16,'color':'r'})
plt.show()

在这里插入图片描述

7.遮挡问题

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-10, 9)
y2 = x**3-1
plt.plot(x, y2,'r--',linewidth=20.0,label='down',zorder=1)
#视频中的方法不行,所以给坐标轴加zorder=1 达到预期效果
ax =plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',-1))
ax.spines['left'].set_position(('data',0))
plt.legend(loc='best')

for label in ax.get_xticklabels()+ax.get_yticklabels():
    label.set_fontsize(12)
    label.set_bbox(dict(facecolor='white',edgecolor='None',alpha=0.2))
plt.show()

在这里插入图片描述
在这里插入图片描述先学这些吧,够用了,后面再学习一张画布放多张图,跟MATLAB一样,因为移植的MATLABplot库嘛

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RockWang.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值