python论文画图模板

python论文画图模板

此模板为根据2022年美赛时画图经验整理出来的模板。
python虽然有很多可视化的包,但个人认为matplotlib功能时比较多比较全的。

初始化配置

这里要说的是那个画图导出的png、jpg等图片文件的话是由一个可以改图片的像素和分辨率的这个还是要稍微调大点,但如果你使用那个svg格式的图片话,图像像素是不会有明显改变的。(这里做了一下测验调大dpi值时,svg图片文件的大小没有变化。)
然后颜色盘中选了一些个人认为画图好看的颜色。

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['savefig.dpi'] = 500 #图片像素
plt.rcParams['figure.dpi'] = 500 #分辨率
# Arial Helvetica TIMES NEW ROMAN #如果要显示中文字体,则在此处设为:SimHei
plt.rcParams['font.sans-serif']=['Arial']  
plt.rcParams['axes.unicode_minus']=False  #显示负号
import pandas as pd
import matplotlib.colors as mcolors
# color pallette 颜色盘
b1,color1,color2,color3,color4,color5 = '#636efa','#c8141c','dodgerblue', '#8714d0', 'green', 'orangered' 

框图设置

画图的话有去多基础的设置是可以配置的,这里可以提供我的设置:

单图

### 绘制人口普查数据图 2000-2020年 
# Arizona、California、Colorado、New Mexico、Wyoming

plt.figure(figsize=(10,5))
#plt.grid(linestyle = "--")      #设置背景网格线为虚线
ax = plt.gca()
ax.spines['top'].set_visible(False)  #去掉上边框
ax.spines['right'].set_visible(False) #去掉右边框
# ax.tick_params(axis=u'both', which=u'both',length=0) # 去掉刻度线
plt.plot(df_ep['Year'],df_ep['EP_AZ'],label='Arizona',linewidth=2,color=color1)
plt.plot(df_ep['Year'],df_ep['EP_CA'],label='California',linewidth=2,color=color2)
plt.plot(df_ep['Year'],df_ep['EP_CO'],label='Colorado',linewidth=2,color=color3)
plt.plot(df_ep['Year'],df_ep['EP_NM'],label='New Mexico',linewidth=2,color=color4)
plt.plot(df_ep['Year'],df_ep['EP_WY'],label='Wyoming',linewidth=2,color=color5)

plt.legend()          #显示各曲线的图例
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.xticks(fontsize=12,fontweight='bold') #默认字体大小为10
plt.yticks(fontsize=12,fontweight='bold')
plt.setp(ltext, fontsize=12,fontweight='bold') #设置图例字体的大小和粗细
plt.xlabel("Year",fontsize=13,fontweight='bold')
plt.ylabel("Electricity price",fontsize=13,fontweight='bold')
plt.tight_layout()
# plt.xlim(3,21)         #设置x轴的范围
# plt.ylim(0.5,1)
plt.show()
plt.savefig('pic_1'.png',format='png')

在这里插入图片描述

组合图

plt.figure(figsize=(14,5))
plt.subplot(1,2,1)
#plt.grid(visible=True,axis="y",linestyle = "--")      #设置背景网格线为虚线
ax = plt.gca()
ax.spines['top'].set_visible(False)  #去掉上边框
ax.spines['right'].set_visible(False) #去掉右边框
ax.tick_params(axis=u'both', which=u'both',length=0) # 去掉刻度线

plt.bar([x-0.3 for x in range(len(df_wa['STATE']))],df_wa['IR-CUsFr'], width=0.1,color='green',label="Irrigation")
plt.bar([x-0.2 for x in range(len(df_wa['STATE']))],df_wa['PS-Wtotl'] ,width=0.1,color='orange',label="Public Supply")
plt.bar([x-0.1 for x in range(len(df_wa['STATE']))],df_wa['AQ-Wtotl'], width=0.1,color='dodgerblue',label="Aquaculture")
plt.bar([x for x in range(len(df_wa['STATE']))],df_wa['IN-Wtotl'], width=0.1,color='deeppink',label="Industrial")
plt.bar([x+0.1 for x in range(len(df_wa['STATE']))],df_wa['LI-WFrTo'], width=0.1,color='purple',label="Livestock")
plt.bar([x+0.2 for x in range(len(df_wa['STATE']))],df_wa['MI-Wtotl'], width=0.1,color='brown',label="Mining")
plt.bar([x+0.3 for x in range(len(df_wa['STATE']))],df_wa['PT-CUTot'], width=0.1,color='red',label="Thermoelectric")

plt.legend()#显示各曲线的图例
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=12,fontweight='bold') #设置图例字体的大小和粗细
plt.xticks([x for x in range(len(df_wa['STATE']))],df_wa['STATE'],size=13,fontweight='bold')
plt.yticks([2000,4000,6000,8000,10000,12000,14000,16000],['2K','4K','6K','8K','10K','12K','14K','16K'],size=13,fontweight='bold')
plt.xlabel("STATE",fontsize=13,fontweight='bold')
plt.ylabel("WATER CONSUMPTION (Mgal/d)",fontsize=13,fontweight='bold')
plt.tight_layout()

plt.subplot(1,2,2)
#plt.grid(visible=True,axis="y",linestyle = "--")      #设置背景网格线为虚线
ax = plt.gca()
ax.spines['top'].set_visible(False)  #去掉上边框
ax.spines['right'].set_visible(False) #去掉右边框
ax.tick_params(axis=u'both', which=u'both',length=0) # 去掉刻度线

plt.bar([x-0.3 for x in range(len(df_wa['STATE']))],df_wa['Agricultural'] ,width=0.3, color=b1,label="Agricultural")
plt.bar([x for x in range(len(df_wa['STATE']))],df_wa['Residential'], width=0.3, color=color4,label="Residential")
plt.bar([x+0.3 for x in range(len(df_wa['STATE']))],df_wa['Industrial'], width=0.3, color=color5,label="Industrial")
# plt.bar([i for i in range(len(df_wa['STATE']))],agricultural, alpha=0.5, width=0.5, color='r',label="1")
# plt.bar([i for i in range(len(df_wa['STATE']))],industrial, alpha=0.5, width=0.5, color='b',label="2")
# plt.bar([i for i in range(len(df_wa['STATE']))],residential, alpha=0.5, width=0.5, color='g',label="3")

plt.legend()#显示各曲线的图例
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=12,fontweight='bold') #设置图例字体的大小和粗细
plt.xticks([x for x in range(len(df_wa['STATE']))],df_wa['STATE'],size=13,fontweight='bold')
plt.yticks([2000,4000,6000,8000,10000,12000,14000,16000],['2K','4K','6K','8K','10K','12K','14K','16K'],size=13,fontweight='bold')
plt.xlabel("STATE",fontsize=13,fontweight='bold')
plt.ylabel("WATER CONSUMPTION (Mgal/d)",fontsize=13,fontweight='bold')
plt.tight_layout()
save_pic(1)
show_pic()

在这里插入图片描述
还有一些其他的图,例如雷达图,各种热力图,这些都是可以用这个模板的,这样你画出来的图片会比较清晰和好看。
这里再附上一个雷达图,其他图也没有怎么画了。
在这里插入图片描述

其他

画图的话当然还是可以用一些软件什么的了,然后比较好的像origin专业画图的,但是这个需要专门去学习之后才能将图画的更好看一些,本人也只是要用的时候可以找一些资料画一些图,但也没有啥经验,以后的话可能会使用的更多一点。如果是话那种示意图的话,可以用viso还有PPT,个人最熟悉的还是PPT了,日常使用PPT去画图。

  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: 以下是两个常用的Python画图模板。 直方图模板: ```python import matplotlib.pyplot as plt # 数据 population_ages = \[22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48\] bins = \[0,10,20,30,40,50,60,70,80,90,100,110,120,130\] # 绘制直方图 plt.hist(population_ages, bins, histtype='bar', rwidth=0.8) # 设置标签和标题 plt.xlabel('x') plt.ylabel('y') plt.title('图像标题名') # 显示图像 plt.show() ``` 你可以根据自己的数据和需求修改这个模板。\[1\] 饼图模板: ```python import matplotlib.pyplot as plt # 数据 slices = \[7,2,2,13\] activities = \['sleeping','eating','working','playing'\] cols = \['c','m','r','b'\] # 绘制饼图 plt.pie(slices, labels=activities, colors=cols, startangle=90, shadow=True, explode=(0,0.1,0,0), autopct='%1.1f%%') # 设置标题 plt.title('图像标题') # 显示图像 plt.show() ``` 同样,你可以根据自己的数据和需求修改这个模板。\[3\] 如果你想了解更多关于Matplotlib可视化图表模板,可以参考\[2\]提供的链接。 #### 引用[.reference_title] - *1* *3* [Python绘图(模板)](https://blog.csdn.net/weixin_60535956/article/details/126367827)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【Python】最有用的25个 Matplotlib图(含Python代码模板)](https://blog.csdn.net/fengdu78/article/details/125494554)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Solkatt's

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值