Python-画图(散点图scatter、保存savefig)及颜色大全
python中的散点图还可以这么画
(这个针对改变描点形状)
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轴反向