这个图咋画呀,不是简单的柱状堆叠图,还需要根据数据改变颜色,横坐标还得换成时间,用气泡矩阵图也无法做到
这个是什么图怎么用Python画,横坐标换成时间序列
这个图咋画呀,不是简单的柱状堆叠图,还需要根据数据改变颜色,横坐标还得换成时间,用气泡矩阵图也无法做到
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Leodong. 2023-04-24 16:38关注
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
这个图看起来像是一张热力图,可以使用 Python 中的 Matplotlib 库来实现。下面是一份代码示例,您可以根据自己的数据和需求进行修改:import numpy as np import matplotlib.pyplot as plt import matplotlib.colors as colors import matplotlib.dates as mdates # 模拟数据 start_date = '2022-01-01' end_date = '2022-12-31' dates = np.arange(np.datetime64(start_date), np.datetime64(end_date)) data = np.random.randint(0, 10, size=(len(dates), 24)) # 定义颜色映射 cmap = colors.ListedColormap(['white', 'lightblue', 'blue', 'darkblue', 'purple']) # 绘制热力图 fig, ax = plt.subplots(figsize=(10, 5)) im = ax.imshow(data, cmap=cmap) # 设置横坐标为时间序列 ax.set_xticks(np.arange(len(dates))) ax.set_xticklabels([d.strftime('%Y-%m-%d') for d in dates]) ax.xaxis.set_major_locator(mdates.MonthLocator(interval=2)) ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m')) # 设置纵坐标为小时 ax.set_yticks(np.arange(24)) ax.set_yticklabels(['{:02d}:00'.format(h) for h in range(24)]) # 添加颜色条 cbar = ax.figure.colorbar(im, ax=ax) cbar.ax.set_ylabel('Value', rotation=-90, va="bottom") # 添加标题和标签 ax.set_title("Heatmap") ax.set_xlabel("Date") ax.set_ylabel("Hour") # 显示图像 plt.show()
在上述代码中,我们首先使用 NumPy 库生成了随机数据,并定义了一个颜色映射。然后,我们创建了一个
Subplot
对象,并使用imshow
函数绘制了热力图。接着,我们设置了横坐标为时间序列,并使用set_major_locator
和set_major_formatter
函数设置了横坐标的主要定位器和格式化器。我们还设置了纵坐标为小时,并添加了颜色条、标题和标签。最后,我们使用show
函数显示图像。您可以根据自己的数据和需求进行修改,并使用
savefig
函数将图像保存为图像文件。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用