首页 > 编程语言 >Python 绘图

Python 绘图

时间:2024-06-07 15:35:09浏览次数:20  
标签:plt bold Python label fontweight 绘图 fontsize import

折线图

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

# 设置字体族:英文使用 Times New Roman,中文使用 SimSun
plt.rcParams['font.family'] = ['Times New Roman', 'SimSun']

# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 创建绘图
plt.plot(x, y, marker='o', linestyle='-', color='b', label='Line 1')

# 添加标题和标签
plt.title('简单线图 Simple Line Plot')
plt.xlabel('X 轴 X Axis')
plt.ylabel('Y 轴 Y Axis')

# 显示图例
plt.legend()

# 显示图形
plt.show()

散点图

import seaborn as sns
import matplotlib.pyplot as plt

# 设置字体族:英文使用 Times New Roman,中文使用 SimSun
plt.rcParams['font.family'] = ['Times New Roman', 'SimSun']

# 示例数据集
tips = sns.load_dataset("tips")

# 绘制散点图
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time")

# 添加标题
plt.title('小费和总账单的散点图 Scatter Plot of Total Bill vs Tip')

# 显示图形
plt.show()

示例

折线图

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.family'] = ['Times New Roman', 'SimSun'] # 设置字体族
plt.rcParams['axes.unicode_minus'] = False # 显示负号

x = np.array([3,5,7,9,11,13,15,17,19,21])

A = np.array([0.9708, 0.6429, 1, 0.8333, 0.8841, 0.5867, 0.9352, 0.8000, 0.9359, 0.9405])
B =  np.array([0.9708, 0.6558, 1, 0.8095, 0.8913, 0.5950, 0.9352, 0.8000, 0.9359, 0.9419])
C = np.array([0.9657, 0.6688, 0.9855, 0.7881, 0.8667, 0.5952, 0.9361, 0.7848, 0.9244, 0.9221])
D = np.array([0.9664, 0.6701, 0.9884, 0.7929, 0.8790, 0.6072, 0.9352, 0.7920, 0.9170, 0.9254])

# label 在图示(legend)中显示。若为数学公式,则最好在字符串前后添加 $ 符号
# color: b:blue, g:green, r:red, c:cyan, m:magenta, y:yellow, k:black, w:white
# 线型:- -- -. : ,
# marker: . , o v < * + 1

plt.figure(figsize=(10,5))
plt.grid(linestyle="--") # 设置背景网格线为虚线
ax = plt.gca()

ax.spines['top'].set_visible(False) # 去掉上边框
ax.spines['right'].set_visible(False) # 去掉右边框

# A 图
plt.plot(x, A, color="black", label="A algorithm", linewidth=1.5)
# B 图
plt.plot(x, B, "k--", label="B algorithm", linewidth=1.5)
# C 图
plt.plot(x, C, color="red", label="C algorithm", linewidth=1.5)
# D 图
plt.plot(x, D, "r--", label="D algorithm", linewidth=1.5)

group_labels=['dataset1', 'dataset2', 'dataset3', 'dataset4', 'dataset5', ' dataset6', 'dataset7', 'dataset8', 'dataset9', 'dataset10'] # X 轴刻度的标识

plt.xticks(x, group_labels, fontsize=12, fontweight='bold') # 默认字体大小为 10
plt.yticks(fontsize=12, fontweight='bold')

plt.title("example", fontsize=12, fontweight='bold') # 默认字体大小为 12

plt.xlabel("Data sets", fontsize=13, fontweight='bold')
plt.ylabel("Accuracy", fontsize=13, fontweight='bold')

plt.xlim(3,21) # 设置 x 轴的范围
# plt.ylim(0.5,1)

# 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.savefig('filename.svg') # 建议保存为 svg 格式,再用 inkscape 转为矢量图 emf 后插入 word 中
plt.show()

参考:画论文折线图、曲线图?几个代码模板轻松搞定!

标签:plt,bold,Python,label,fontweight,绘图,fontsize,import
From: https://www.cnblogs.com/Undefined443/p/18237275

相关文章

  • Python爬虫-字体加密 ddddocr FontCreator
    目录应用场景解决思路1.下载字体文件2.分析3.代码实现版本1版本2应用场景在爬取网页数据时我们有时可能会遇到如下面的情况,价格数字在网页上能正常显示,但在控制面板查看时却是显示空白,我们通过requests等库爬取该页面后得到的数据也是无法显示出来。解决思路1.......
  • python获取多只股票价格信息的方法
    python代码如下:importefinanceasefimporttimefromdatetimeimportdatetimeimportcsvfreq=1defprocess_row(row):#在这里处理每一行数据print('股票:'+row[0],'日期:'+row[2],'现价:'+row[3],'最高:'+row[5],'最低:�......
  • 单个python文件代码的车牌检测系统 使用pyqt做界面进行车牌检测,可以保存结果到excel文
    融合了hyperlpr3和opencv来检测车牌通过图片检测车牌的系统,使用了pyqt和hyperlpr3结合来进行检测,可以保存检测的结果到excel文件 亲自测试修改代码,运行正常并且不依赖百度网络api,纯本地运行,融合了2个车牌检测模型,第一个模型使用opencv来模糊图像,然后进行边缘检测和......
  • Python自动化发送邮件如何实现?怎么配置?
    Python自动化发送邮件需要注意什么?邮件群发的技巧?无论是个人使用还是企业需求,电子邮件的发送都是必不可少的。而Python作为一门功能强大的编程语言,可以通过自动化脚本实现批量发送邮件,从而提高工作效率。AokSend将详细介绍如何使用Python自动化发送邮件。Python自动化发送邮......
  • Python实现投递多线程任务
    使用Python的apscheduler库中的BackgroundScheduler实现投递多线程任务的示例代码。这个示例将展示如何根据任务ID投递和停止任务,设置任务同时执行的上限,以及删除全部任务。首先,确保你已经安装了apscheduler库:``pipinstallapscheduler``代码示例:``fromapscheduler.sched......
  • python系列:FASTAPI系列 04-GET请求 params参数
    FASTAPI系列04-GET请求params参数FASTAPI系列04-GET请求params参数前言一、查询参数二、参数的默认值三、多路径查询参数四、查询参数为必填项总结FASTAPI系列04-GET请求params参数前言get请求的参数在url后面携带,通常称做queryparams一、查询参数在......
  • Python简单实现多线程例子
    使用Python实现多线程的例子,演示如何在主线程内分别启动ABC三个线程,并实现启动和停止指定线程的功能``importthreadingimporttime#定义一个全局标志,用于控制线程的运行状态stop_thread_A=Falsestop_thread_B=Falsestop_thread_C=False#线程A的函数......
  • Python数据分析常用开源库 pycharm
    内容介绍Pandas数据处理的库,可以做可视化文件类数据交互的是比较好的CSVExcel环境搭建起来SeriesDataFrame前3天主要介绍DataFrame的使用(Pandas的API)第四天数据可视化day05~day08Pandas解决数据分析问题报表,取数(SQL,Pandas,Excel)业务分析能......
  • python各种加解密方法
    #-*-encoding:utf-8-*-fromhashlibimportmd5importbase64#MD5加密obj=md5()str="你是个小可爱"obj.update(str.encode("utf-8"))#obj.update("wusir".encode('utf-8'))#可以添加多个被加密的内容bs=obj.hexdigest()print("md5......
  • 8-4 【Python0036】中文级联菜单
    importtkinterastkfromtkinterimportttkfrompypinyinimportlazy_pinyin#省份、城市、地区数据data={"北京":{"北京市":["东城区","西城区","朝阳区"],},"上海":{"上海市......