一、散点图
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False #matplotlib画图中中文显示会有问题,需要这两行设置默认字体 plt.xlabel('x') #plt.ylabel('') plt.xlim(xmax=10,xmin=0) plt.ylim(ymax=2,ymin=0) x1=[]#自定义点 y1 = []#自定义点 x2=[]#自定义点 y2=[]#自定义点 colors1 = 'r' #点的颜色 colors2 = 'g' area = np.pi * 4**2 # 点面积 plt.scatter(x1, y1, s=area, c=colors1, alpha=0.4, label='a') plt.scatter(x2, y2, s=area, c=colors2, alpha=0.4, label='b') #plt.plot([0,9.5],[9.5,0],linewidth = '0.5',color='#000000') plt.legend() plt.yticks(()) plt.title('test') plt.show()
二、折线图
去掉上、右坐标线
import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.spines['right'].set_visible(False) ax.spines['top'].set_visible(False)
解决中文乱码
plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False
设置坐标轴标题
plt.xlabel('x') plt.ylabel('y')
设置坐标范围
plt.xlim(xmax=5,xmin=0) plt.ylim(ymax=4,ymin=0)
自定义坐标描点连线数据
x1=[1,2,3,4,5] y1=[2.4118,2.3837,1.5294,2.6,1.5663] x2=x1; y2=[0.64,0.83034,0.76093,0.32199,0.55581]
开始作图
plt.plot(x1,y1,color='r',label='test') plt.plot(x2,y2,color='g',label='test2')
设置标题
plt.title(r'人生若只如初见')
添加图标
plt.legend()
在指定坐标处添加文字内容
plt.text(1, 3.0, r'何事秋风',color='r',fontsize=15) plt.text(3, 3.0, r'悲画扇',color='r',fontsize=15)
整体效果

完整代码
import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.spines['right'].set_visible(False) ax.spines['top'].set_visible(False) plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.xlabel('x') plt.ylabel('y') plt.xlim(xmax=5,xmin=0) plt.ylim(ymax=4,ymin=0) x1=[1,2,3,4,5] y1=[2.4118,2.3837,1.5294,2.6,1.5663] x2=x1; y2=[0.64,0.83034,0.76093,0.32199,0.55581] plt.plot(x1,y1,color='r',label='test') plt.plot(x2,y2,color='g',label='test2') plt.title(r'人生若只如初见') plt.legend() plt.text(1, 3.0, r'何事秋风',color='r',fontsize=15) plt.text(3, 3.0, r'悲画扇',color='r',fontsize=15)
用Pycharm运行不出图
plt.show()
保存图片到本地
其中dpi为图像的清晰度,可改高一点 比如600,图片会更大更清晰
plt.savefig('图片名字.png', dpi=300, bbox_inches='tight')#指定分辨率
其他
python plt画图横纵坐标0点重合
#移位置 设为原点相交 ax.xaxis.set_ticks_position('bottom') ax.spines['bottom'].set_position(('data',0)) ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0))
y坐标轴反向
ax.invert_yaxis() #y轴反向
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204077.html原文链接:https://javaforall.net
