作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我第一次发帖!
我正在使用calmap来绘制漂亮的日历图来分析一些数据。日历图使用颜色图来显示天之间的对比度。我遇到的问题是,calmap 没有提供友好的工具来显示与日历图关联的颜色条。我想知道你们中的一个人是否有解决方案。理想的情况是为整个图形设置颜色条,而不仅仅是一个轴。
calmap 的文档:http://pythonhosted.org/calmap/
import pandas as pd
import numpy as np
import calmap # pip install calmap
%matplotlib inline
df=pd.DataFrame(data=np.random.randn(500,1)
,index=pd.date_range(start='2014-01-01 00:00:00',freq='1D',periods =500)
,columns=['data'])
fig,ax=calmap.calendarplot(df['data'],
fillcolor='grey', linewidth=0,cmap='RdYlGn',
fig_kws=dict(figsize=(17,8)))
fig.suptitle('Calendar view' ,fontsize=20,y=1.08)
最佳答案
在这里深入研究calmap代码martijnvermaat/calmap我明白那个
ax.pcolormesh
有背景,然后是另一个有实际数据的,再加上一堆其他的东西。 ax[0].get_children()
[<matplotlib.collections.QuadMesh at 0x11ebd9e10>,
<matplotlib.collections.QuadMesh at 0x11ebe9210>, <- that's the one we need!
<matplotlib.spines.Spine at 0x11e85a910>,
<matplotlib.spines.Spine at 0x11e865250>,
<matplotlib.spines.Spine at 0x11e85ad10>,
<matplotlib.spines.Spine at 0x11e865490>,
<matplotlib.axis.XAxis at 0x11e85a810>,
<matplotlib.axis.YAxis at 0x11e74ba90>,
<matplotlib.text.Text at 0x11e951dd0>,
<matplotlib.text.Text at 0x11e951e50>,
<matplotlib.text.Text at 0x11e951ed0>,
<matplotlib.patches.Rectangle at 0x11e951f10>]
fig.colorbar
(
plt.colorbar
是此函数的包装器),如本答案中所建议
fig,ax=calmap.calendarplot(df['data'],
fillcolor='grey', linewidth=0,cmap='RdYlGn',
fig_kws=dict(figsize=(17,8)))
fig.colorbar(ax[0].get_children()[1], ax=ax.ravel().tolist())
fig = plt.figure(figsize=(20,8))
ax = fig.add_subplot(111)
cax = calmap.yearplot(df, year=2014, ax=ax, cmap='YlGn')
fig.colorbar(cax.get_children()[1], ax=cax, orientation='horizontal')
关于python-2.7 - 向calmap图添加颜色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35871379/
我是一名优秀的程序员,十分优秀!