python matplotlib 数据可视化之散点图绘制

#coding=utf-8
# Python3.6
# Author:Zhoubin

import pandas as pd                  # 数据处理
from pandas import Series,DataFrame
import numpy as np                   # 科学计算
import datetime,time
import matplotlib.pyplot as plt      # 数据可视化处理
# 马牌车牙刀测试对比
fig,axes = plt.subplots(2,2,sharex=False,sharey=False,figsize=(36,9))
data=DataFrame(pd.read_excel(r'd:\车牙刀粗度分析.xlsm',sheet_name='Sheet3',index=None,header=None))

d1 = data.iloc[1,2:].dropna()
d2 = data.iloc[2,2:].dropna()
d3 = data.iloc[3,2:].dropna()
d4 = data.iloc[4,2:].dropna()
d5 = data.iloc[5,2:].dropna()
d6 = data.iloc[6,2:].dropna()
d7 = data.iloc[8,2:].dropna()
d8 = data.iloc[9,2:].dropna()
d9 = data.iloc[10,2:].dropna()
d10 = data.iloc[11,2:].dropna()
d11 = data.iloc[12,2:].dropna()
d12 = data.iloc[13,2:].dropna()

x1=data.iloc[0,2:72]
x2=data.iloc[7,2:117]

# 司瓦诺克刀
axes[0].plot(d1,'.',markersize=12,color='blue',label='正面')
axes[0].plot(d2,'.',markersize=12,color='blue')
axes[0].plot(d3,'.',markersize=12,color='blue')
axes[0].plot(d4,'.',markersize=12,color='red',label='反面')
axes[0].plot(d5,'.',markersize=12,color='red')
axes[0].plot(d6,'.',markersize=12,color='red')

axes[0].axhline(1.2,lw=2,ls='--',color='red',label='USL:Rz1.2 Max')
x1_edge=[12.5,19.5,23.5,35.5,47.5]
x2_edge=[5.5,11.5,21.5,31.5,42.5,53.5,61.5]
for x in x1_edge:
    axes[0].axvline(x,lw=1,ls='-',color='green')
axes[0].grid(True,alpha=0.6)
axes[0].set_title('司瓦诺克车牙刀粗糙度分布图',size=16)
axes[0].set_xlabel('刀具号_机台#',size=14)
axes[0].set_ylabel('粗糙度',size=14)
axes[0].set_xticks(np.arange(2,x2.count()+2,1))
axes[0].set_xticklabels(x1,rotation=90)
axes[0].set_yticks(np.arange(0,1.9,0.1))
axes[0].legend()

# 晨达刀
axes[0,1].plot(d7,'.',markersize=12,color='blue',label='正面')
axes[0,1].plot(d8,'.',markersize=12,color='blue')
axes[0,1].plot(d9,'.',markersize=12,color='blue')
axes[0,1].plot(d10,'.',markersize=12,color='red',label='反面')
axes[0,1].plot(d11,'.',markersize=12,color='red')
axes[0,1].plot(d12,'.',markersize=12,color='red')

axes[0,1].axhline(1.2,lw=2,ls='--',color='red',label='USL:Rz1.2 Max')
for x in x2_edge:
    axes[0,1].axvline(x,lw=1,ls='-',color='green')
for x in x2_edge:
    axes[1,1].axvline(x,lw=1,ls='-',color='green') 
axes[0,1].grid(True,alpha=0.6)
axes[0,1].set_title('晨达车牙刀粗糙度分布图',size=16)
axes[0,1].set_xlabel('刀具号_机台#',size=14)
axes[0,1].set_ylabel('粗糙度',size=14)
axes[0,1].set_xticks(np.arange(2,x2.count()+2,1))
axes[0,1].set_xticklabels(data.iloc[7,2:68],rotation=90)
axes[0,1].set_yticks(np.arange(0,1.9,0.1))
axes[0,1].legend()

# 极差值
axes[1,0].plot(data.iloc[15,2:].dropna(),'.',markersize=12,color='green',label='正面-反面')
axes[1,0].plot(data.iloc[16,2:].dropna(),'.',markersize=12,color='green')
axes[1,0].plot(data.iloc[17,2:].dropna(),'.',markersize=12,color='green')

axes[1,0].axhline(0.3,lw=2,ls='--',color='red',label='USL、LSL')
axes[1,0].axhline(-0.3,lw=2,ls='--',color='red')
axes[1,0].axhline(0,lw=2,ls='--',color='green')
axes[1,1].axhline(0,lw=2,ls='--',color='green')
for x in x1_edge:
    axes[1,0].axvline(x,lw=1,ls='-',color='green')
axes[1,0].grid(True,alpha=0.6)
# axes[1,0].set_title('司瓦诺克车牙刀粗糙度(正面-反面)分布图',size=16)
axes[1,0].set_xlabel('刀具号_机台#',size=14)
axes[1,0].set_ylabel('正面-反面',size=14)
axes[1,0].set_xticks(np.arange(2,x2.count()+2,1))
axes[1,0].set_xticklabels(x1,rotation=90)
axes[1,0].set_yticks(np.arange(-0.8,0.8,0.1))
axes[1,0].legend()

# 晨达正面-反面
axes[1,1].plot(data.iloc[18,2:].dropna(),'.',markersize=12,color='green',label='正面-反面')
axes[1,1].plot(data.iloc[19,2:].dropna(),'.',markersize=12,color='green')
axes[1,1].plot(data.iloc[20,2:].dropna(),'.',markersize=12,color='green')
axes[1,1].axhline(0.3,lw=2,ls='--',color='red',label='USL、LSL')
axes[1,1].axhline(-0.3,lw=2,ls='--',color='red')
axes[1,1].axhline(0,lw=2,ls='--',color='green')
axes[1,1].grid(True,alpha=0.6)
# axes[1,1].set_title('晨达车牙刀粗糙度(正面-反面)分布图',size=16)
axes[1,1].set_xlabel('刀具号_机台#',size=14)
axes[1,1].set_ylabel('正面-反面',size=14)
axes[1,1].set_xticks(np.arange(2,x2.count()+2,1))
axes[1,1].set_xticklabels(x2,rotation=90)
axes[1,1].set_yticks(np.arange(-0.8,0.8,0.1))
axes[1,1].legend()

plt.rcParams['font.sans-serif'] = ['SimHei']    ##中文支持
plt.rcParams['axes.unicode_minus']=False  # 负号显示
plt.subplots_adjust(left=0.039, bottom=0.113, right=0.992,top=0.956,hspace=0.01, wspace=0.086)
plt.show()
# plt.savefig(r'd:\马牌车牙刀粗糙度.jpg')
plt.close()

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值