本⽂的⽂字及图⽚来源于⽹络,仅供学习、交流使⽤,不具有任何商业⽤途,版权归原作者所有,如有问题请及时以作处理。
例⼦:画了⼀个双y轴坐标的图表
# -*- coding: utf-8 -*-
#调⽤包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#读取⽂件
io=r'E:⼯作专项⽩骑⼠数据验证⽩骑⼠数据汇总表.xlsx'
ad_excel(io,sheet_name='YINKA_sample')
ad_excel(io,sheet_name='BQS_result')
yinka_(yinka,bqs,left_on='no',right_on='no',how='inner')
#绘图
fig,ax=plt.subplots(1,1,figsize=(20, 300))
x=total.index-1
#为什么+1,因为对不齐,所以使⽤时根据情况编写
y=total['var1']
ax.plot(x,y,'k--o',alpha=0.5) #画折线图
ax.set_xlim([0,16])
#设置x轴的取值范围这个可以让x轴与y轴的起点⼀致
ax.set_xticks(np.arange(0,16)) #设置x轴的刻度范围
ax.set_xticklabels(np.arange(0,16),rotation=30)
#设置x轴上的刻度
ax.set_ylim([0,1800]) #同理y轴数值范围
ax.set_yticks(range(0,1800,300))#设置y轴的刻度范围
ax.set_yticklabels(range(0,1800,300))#设置y轴上的刻度
ax.legend(loc='upper left') #设置ax⼦图的图例(legend)
#新知识点
for a,b in zip(x,y): #设置注释 zip函数是对应关系
<(a,b,b,ha='center',va='bottom',fontsize=15)
#重点
ax1=ax.twinx()
#这个是能够实现双y轴的重点,共享x轴;还有⼀种是双x轴的图表换成ax.twiny()
y1=total[['adopt','reject']]
y1.plot.bar(ax=ax1,alpha=0.5)
matplotlib中subplot#这个是matplotlib中条形图的绘制⽅法,如果使⽤seaborn绘制⽅法使⽤sns.barplot()函数,需要调整很多细节#这⾥只设置了y轴的刻度,x轴的刻度设置了⼀下偶尔会出现失败,值得注意的是要将数据对齐
ax1.set_ylim([0,1800])
ax1.set_yticks(range(0,1800,300))
ax1.set_yticklabels(range(0,1800,300))
for e,f,w in zip(data_.index,data_[0],data_[1]):
<(e-1,f,f,ha='center',va='bottom',fontsize=10,color='b')
<(e-1,w,w,ha='center',va='bottom',fontsize=10,color='g')
ax1.legend(loc='best')
plt.show() #养成习惯这个最好写⼀下#
#保存图⽚
plt.savefig('path') #图表输出到本地
结果显⽰:
喜欢的朋友欢迎关注⼩编,除了分享技术⽂章之外还有很多福利,私信“资料”可以领取包括不限于Python实战演练、PDF电⼦⽂档、⾯
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论