天青色的R. 2021-11-30 13:58 采纳率: 40%
浏览 57
已结题

matplotlib画图添加副坐标轴时,刻度如何与主坐标轴保持一致

python matplotlib作图,需添加副坐标轴,我按网上方法试了下,发现主、副坐标轴对不上
数据在这里下载:
https://pan.baidu.com/s/1d1QnnypYb70pnbxq0zM17g
密码:wwww

#导入库
import pandas as pd 
import matplotlib.pyplot as plt
import numpy as np
import datetime
#import os
plt.rcParams['font.sans-serif'] = ['SimHei']#解决中文显示为方框的问题
plt.rcParams['axes.unicode_minus'] = False

#读取数据
data=pd.read_csv('data.csv')

timelist=data[['start-time','end-time']].values.tolist()
states=data[['状态']].values.tolist()
xlabels=data[['start-time']].values.tolist()
ylabels=data[['项目']].values.tolist()
# work
xtimes=[0]
ystates=[0]
location=0
plt.figure()
plt.figure(num=3, figsize=(9, 2))   # figsize的设置长和宽

for i in range(len(timelist)):
    Start=timelist[i][0]
    Finish=timelist[i][1]
    startTime = datetime.datetime.strptime(Start, "%Y-%m-%d")
    finishTime = datetime.datetime.strptime(Finish, "%Y-%m-%d")
    day = (finishTime-startTime).days
#        plt.bar(40,10,label=xlabels[i],color='g')
    plt.axhline(y=i+0.5, color='k', linestyle='-',alpha= 0.5,linewidth=0.8)
    plt.barh(i,day,0.5,location,alpha=(5+i)/10,color = 'g', align="center")    #y值,宽度,高度,起始x
    plt.text(location+1,i+0.52,states[i], size = 10, alpha = 1)
    plt.text(location+1,i-0.2,states[i], size = 10, alpha = 1)

    plt.xlabel(u"时间")
    plt.ylabel(u"软件工程阶段")
    location+=day
    xtimes.append(location)
    ystates.append(i+1)

plt.xticks(xtimes, xlabels, rotation='horizontal')
plt.yticks(ystates, ylabels, rotation='horizontal')
plt.twinx()
plt.yticks(ystates, ylabels, rotation='horizontal') #相同的y刻度,为何对不上??
plt.title(u'甘特图')
#    plt.grid(True)
plt.savefig('甘特图.png', dpi=300, format='png',bbox_inches="tight") 
plt.show()

img

  • 写回答

1条回答 默认 最新

  • 索利亚噶通 2021-12-02 14:49
    关注

    你只贴了一半的代码? 第一行的data是什么? 读取csv的代码没有粘贴出来吧?

    评论

报告相同问题?

问题事件

  • 系统已结题 12月8日
  • 修改了问题 12月2日
  • 创建了问题 11月30日

悬赏问题

  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条