python 绘图设定 模板

本文详细介绍如何使用Python的Matplotlib库进行科学绘图,包括数据加载、绘图配置、坐标轴设定、图例添加等核心功能,并展示了如何通过代码定制化图表样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存个模板

# -*- coding: utf-8 -*-
"""
Created on Fri Sep 29 17:17:31 2017

@author: HBB
"""
import numpy as np
import matplotlib.pyplot as plt

d =  np.loadtxt('d1.txt',delimiter = ',')  # txt文件的加载              
                    
# 绘图命令的启动 设置线型颜色,线宽,类型,          
plt.plot(d,'g-',linewidth=2.0,label="banding",alpha=0.9)                                # 绘画命令  不是 plt.figure
# 'g-o'==color=’green‘,linestyle='-',marker='o'
# plt.plot(a,a*1.5,color="green",linewidth=3.0,linestyle="-",marker='o',,markerfacecolor='blue',markersize=20,label="COS",alpha=0.9) 

'''
plot()函数的使用
plot(x,y,format_string,**kwargs)
x:x轴数据,列表或数组,可选
y:y轴数据,列表或数组
format_string :控制曲线的格式字符串,可选
      由颜色字符,风格字符(曲线实虚)和标记字符组成  (配图说明)
          
**kwargs:第二组或者更多(x,y,format_string)
'''
              
# 坐标轴的相关设定
# plt.axis([100,600,5000,35000])            # 尺度范围的设定
plt.xlim(100,600)                           # x轴的设定
plt.ylim(5000,35000)                        # y轴的设定
        
ax=plt.gca()                               # 引入坐标轴
ax.spines["right"].set_color("none")       # 隐藏右侧坐标轴
ax.spines["top"].set_color("none")         # 隐藏上面的坐标轴
ax.spines["left"].set_position(("data",100))     # 控制位置
ax.spines["bottom"].set_position(("data",5000))  # 控制位置

# 坐标轴的刻度显示位置
ax.xaxis.set_ticks_position("bottom")
ax.yaxis.set_ticks_position("left")

# 设置刻度数字大小和边框
for lable in ax.get_xticklabels()+ax.get_yticklabels():
    lable.set_fontsize(16)                     # 刻度大小
    lable.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2)) 

# 设置刻度主次刻度大小,,不会

# 插入文本
# 标题
plt.title("XPS",fontsize=20)                                        # 标题
# 坐标轴
plt.xlabel('能量',fontproperties='SimHei',fontsize=20)              # 中文显示
plt.ylabel('Intensity',fontsize=20)

# 在任意地方插入文本
plt.text(210,20000,"TiO2",fontsize=15)         

# 带箭头嘚文本
plt.annotate('C 1s',fontsize=16,xy=(430,25000),xytext=(350,30000),arrowprops=dict(facecolor='black',shrink=3.0,width=1))
plt.annotate("Ru 3d",fontsize=16,xy=(500,33000),xycoords="data",xytext=(+10,+20),textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=0.2"))

# 其他功能

# 划线
plt.plot([300,300],[0,35000],"y",linewidth=3.0,linestyle="--")
# [300,300],[0,35000] 应该是相当于[x1,x2],[y1,y2] 所以点应该是(x1,y1)和(x2,y2)
# 'y' 线的颜色  
# 也可以写成'y--'  不用写 linestyle="--"

# 图例
plt.legend(loc="upper left")

# 网格线
# plt.grid(True)

# 填充 
# plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="green",alpha=0.5)   #搞不通这个范围???

# 图像的保存
# plt.savefig('test',dpi=600)              
plt.show()                                 # 图像的显示

 

转载于:https://www.cnblogs.com/hanbb/p/7615504.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值