python科学绘图
分享matplotlib, seaborn等python绘图包的使用小技巧
Cmmm丶
分享python科研小技巧~
展开
-
python绘图:截取matplotlib colormap色谱的一部分
点赞发Nature关注中Sciencematplotlib.colors中,整个色谱的频段太宽,边缘区域的颜色太深,不适合作图,我们希望截图整个色谱的一部分用于作图,以下是代码:import matplotlib.colors as colorsimport matplotlib.pyplot as pltimport numpy as npdef truncate_colormap(cmap, minval=0.0, maxval=1.0, n=100): new_cmap = co原创 2021-08-24 08:55:24 · 3531 阅读 · 3 评论 -
python Dat Vis: Plotly绘制sankey diagram桑基图
点赞发Nature关注中Sciencesankey图一般用于描绘agent间的物质、能量流动,在综合评估模型IAM、投入产出模型IO相关的论文中比较常见。以下是一个使用plotly程序包绘制能量流动的代码import osimport pandas as pdimport plotly.express as pximport plotly.graph_objects as gocolor_node_prod = px.colors.sequential.YlGn # define the c原创 2021-05-24 10:38:54 · 995 阅读 · 0 评论 -
python Dat Vis: Matplotlib设置x/y轴数据标签字体、大小、方向
点赞发Nature关注中Scienceimport matplotlib.pyplot as plt#设置x轴plt.xticks(fontname="Calibri",fontsize=20,rotation=45)#设置y轴plt.xticks(fontname="Calibri",fontsize=20,rotation=45)'''arg 'fontname'可选项可查看以下链接http://jonathansoma.com/lede/data-studio/matplotlib原创 2021-01-11 10:15:59 · 4606 阅读 · 0 评论 -
Python Dat Vis: 用plotly绘制多系列雷达图(radar chart)
点赞发Nature关注中ScienceExcel画的雷达图实在是太丑了,而且每次画图还得重新设置参数。没办法转到用python plotly绘制雷达图————————我是仁荷大学的经管博士生(google scholar homepage),关注能源转型过程中的环境、经济问题。专注于分享利用python科研的技巧,欢迎一起交流、学习、合作。关于我的博客内容、其他相关的研究问题,有问题可以评论、私信我~...原创 2020-11-07 10:59:45 · 2809 阅读 · 4 评论 -
Matplotlib: 单独画一个colorbar 并调整colorbar的方向
点赞发Nature关注中Science把colorbar单独画出来,可以方便作图时调整color和图的相对位置def colorbar(transport_gdf): fig, ax = plt.subplots(figsize=(6, 1)) fig.subplots_adjust(bottom=0.5) norm = mpl.colors.Normalize(vmin=np.power(10,2), vmax=np.power(10,7)) fig.c原创 2020-08-17 12:26:40 · 5226 阅读 · 1 评论 -
Data Vis: pandas DataFrame用rgba值自定义颜色
点赞发Nature关注中Science作图的时候我一般喜欢用其他来源的调色板,这样的话,需要自定义colormap,matplotlib提供了很方便的自定义颜色方法,用元组数据类型表达 颜色的rgba值即可:import matplotlib.pyplot as plt#自定义白色white = (0.0,0.0,0.0)#假设用一个dataframe作图,设置线条颜色为白色df.boxplot(edgecolor=white)#想定义一系列颜色也可以colormap = ((0,0原创 2020-08-05 12:28:10 · 1152 阅读 · 0 评论 -
altair坐标范围、坐标标签格式设置
有用的话点个赞吧~用altair作图,有时候我们只想要显示数据的其中一部分,比如1-100的数据,我只想显示1-50的,所以要设置坐标范围。import altair as alt#随便画一个plotalt.Chart(data).mart_line(). encode(x=alt.X(data_lable, scale=alt.Scale(domain=[0,50]))) #假定要设置X轴范围为0-50设置了0-50后,你发现不在轴内的数据还是显示了,那你就得使用这个alt.C原创 2020-05-21 10:36:44 · 1702 阅读 · 0 评论 -
Python Dat Vis: 用Altair绘制边际减排曲线
导入altairimport altair as alt绘制一个图形curve1 = ( alt.Chart(data) #data为DataFrame .mark_rect() #绘制矩形图 .encode( x=alt.X("x0:Q", title=x), #设置x轴矩形左端位置原创 2020-05-15 22:10:26 · 840 阅读 · 0 评论 -
Matplotlib图例的设置
图例设置使用plt.legend()函数import matplotlib.pyplot as pltplt.legend(frameon=False) #隐藏图例的外框plt.legend(loc='lower left') #设置图例位置plt.legend(prep={'size':12}) #设置图例大小更多方法欢迎在评论分享~...原创 2020-05-09 19:40:16 · 1010 阅读 · 0 评论 -
seaborn作图隐藏上部、右部轴
sns.despine()可以自动隐藏上部(top)、右部(right)轴seaborn.despine(fig=None, ax=None, top=True, right=True, left=False, bottom=False, offset=None, trim=False)详情见https://seaborn.pydata.org/generated/seaborn.despine.html原创 2020-05-09 19:02:30 · 1939 阅读 · 0 评论 -
matplotlib输出背景为透明的图片
输出图片时import matplotlib as pltplt.savefig(r'\test.png',transparent = True)原创 2020-01-20 19:37:59 · 9243 阅读 · 2 评论