十五、 甘特图dhtmlxgantt当时间为空时右上角警告invalid dates

本文指导如何在Node.js项目中处理dhtmlxGantt库的问题,涉及修改特定函数以解决Invaliddates错误,并提醒读者dhtmlxGantt已开始收费,需注意使用最新版本

1. 首先在node_modules中找到安装包, 找到dhtmlxgantt.js

 2 在编译后的文件中搜索关键字 Invalid dates

3 将 return 后面的框起来的这个函数变为 ' ' 即可 

4 大功告成, 注意:dhtml已经开始收费,以前的版本一直可以使用,现在有价值了。

def creat_gantt(df_data,row): print(df_data.iloc[row]['项目代号']) #print(df_data[row['项目代号']]) #print(row['项目代号'],row['确认PCC'],row['晶型盐型确认'],row['预试验样品'],row['预试验样品'], # row['样品提供/计划日期'],row['制剂稳定性样品'],row['计划IND日期']) df = pd.read_csv("D:\\UserData\\8100708\\Desktop\\concert.csv") fig = plt.figure(figsize=(12,3)) ax = fig.add_subplot(111) # 创建甘特图(使用matplotlib内置方法) for i, row in df.iterrows(): start = pd.to_datetime(row['start']) end = pd.to_datetime(row['finish']) duration = (end - start).days # 根据任务类型设置颜色 color = 'steelblue' if row['Type'] == 'main' else 'lightgreen' # 绘制水平条 ax.barh(row['Task'], width=duration, left=start, height=0.6, color=color) plt.title('', {'fontsize': 14, 'fontweight': 'heavy'}) # === 设置日期刻度 === # 获取日期范围 min_date = pd.to_datetime(df['start']).min() max_date = pd.to_datetime(df['finish']).max() ax.set_xlim(min_date, max_date) # 设置主要刻度为月份 ax.xaxis.set_major_locator(mdates.MonthLocator()) ax.xaxis.set_major_formatter(mdates.DateFormatter(' %y年%m月')) # 设置次要刻度为每周一 week_locator = mdates.WeekdayLocator(byweekday=mdates.MO) ax.xaxis.set_minor_locator(week_locator) # 绘制网格线 ax.xaxis.grid(True, which='major', linestyle='-', alpha=0.7, color='gray') ax.xaxis.grid(True, which='minor', linestyle=':', alpha=0.5, color='lightgray') # === 修正的交替周背景色 === # 获取所有周一的位置(数值格式) minor_ticks = ax.xaxis.get_minorticklocs() for i in range(0, len(minor_ticks)-1): if i % 2 == 0: # 使用matplotlib数值直接创建区域 ax.axvspan( minor_ticks[i], minor_ticks[i+1], alpha=0.05, color='blue', zorder=0 # 确保在底层 ) plt.tight_layout() plt.show() fig.savefig('gantt.png', dpi=300, bbox_inches='tight') print("甘特图已保存为: gantt.png") ******* 台式机 ********* Traceback (most recent call last): File "d:\移动云\同步盘\500.IT\530.编程\Python_github\2025PD月报\M004_editWord.py", line 420, in <module> add_word(Word,df_formonth,settings['select']) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "d:\移动云\同步盘\500.IT\530.编程\Python_github\2025PD月报\M004_editWord.py", line 396, in add_word creat_gantt(df,row) ~~~~~~~~~~~^^^^^^^^ File "d:\移动云\同步盘\500.IT\530.编程\Python_github\2025PD月报\M004_editWord.py", line 284, in creat_gantt print(df_data.iloc[row]['项目代号']) ~~~~~~~~~~~~^^^^^ File "D:\Python\Lib\site-packages\pandas\core\indexing.py", line 1191, in __getitem__ return self._getitem_axis(maybe_callable, axis=axis) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Python\Lib\site-packages\pandas\core\indexing.py", line 1743, in _getitem_axis return self._get_list_axis(key, axis=axis) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "D:\Python\Lib\site-packages\pandas\core\indexing.py", line 1714, in _get_list_axis return self.obj._take_with_is_copy(key, axis=axis) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "D:\Python\Lib\site-packages\pandas\core\generic.py", line 4172, in _take_with_is_copy result = self.take(indices=indices, axis=axis) File "D:\Python\Lib\site-packages\pandas\core\generic.py", line 4125, in take indices = np.asarray(indices, dtype=np.intp) File "D:\Python\Lib\site-packages\pandas\core\series.py", line 1033, in __array__ arr = np.asarray(values, dtype=dtype) ValueError: invalid literal for int() with base 10: 'TQA3055'
09-29
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值